您好,登錄后才能下訂單哦!
本篇內容主要講解“Linux文件與目錄的默認權限與隱藏權限”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Linux文件與目錄的默認權限與隱藏權限”吧!
文件的權限可以使用chmod來改變,但是我們默認創建文件的權限是什么?那就是與umask這個有關了。下來我們學習這個指令
1.1 簡單使用umask
[root@iZbp13q6hd8z3xaagcmz6gZ /]# umask0022[root@iZbp13q6hd8z3xaagcmz6gZ /]# umask -Su=rwx,g=rx,o=rx[root@iZbp13q6hd8z3xaagcmz6gZ /]#
查閱的方式有倆種,一種是直接輸入umask,就可以看到數字體態的權限設置分數。一種則是加上-S這個選項,就會以符號類型的方式來顯示出權限了。
1.2 解釋為什么會有四組數字
我們的文件權限會有十個字符,第一字符代表文件類型,剩余九個字符分為三組,分別為擁有者(owner),群組(group),其他人(others)
但是在這里第一組是特殊權限用的,后邊的三組才是我們的需要學習的權限。
1.3 文件和目錄的默認權限
在默認權限的屬性上,目錄和文件是不一樣的,因為X權限對于目錄是非常重要的!沒有X權限就代表無法進入這個目錄工作。但是文件則不需要這個權限,因為文件通常是用在于數據的記錄,所以就不需要。
文件的默認權限:-rw-rw-rw-
目錄的默認權限:drwxrwxrwx
1.4 解釋umask數字的含義
umask的分數指的是該默認值需要減掉的權限,r,w,x分別是4,2,1分。
在1.1中我們知道umask為0022,第一個值我們暫時不管,第二個值為0,也就是user并沒減去任何權限,不過group和others的權限都減去了2(也就是w這個權限)那么當這個用戶創建文件和目錄的權限分別就是
文件:(-rw-rw-rw-)- (-----w--w-)= -rw-r--r--
目錄:(drwxrwxrwx)- (d----w--w-)= drwxr-xr-x
1.5 實戰檢測1.4 推測的準確性
實戰的檢測證明了我們的推理是正確的
[root@iZbp13q6hd8z3xaagcmz6gZ learn]# umask0022[root@iZbp13q6hd8z3xaagcmz6gZ learn]# ll -d test*-rw-r--r-- 1 root kaka 0 Aug 15 11:19 test1drwxr-xr-x 2 root kaka 4096 Aug 15 11:19 test2[root@iZbp13q6hd8z3xaagcmz6gZ learn]#
1.6 umask的利用與重要性
想象一個狀況那就是你跟你的工作伙伴在一個目錄下工作,然后你創建的文件你的工作伙伴只有讀的權限,沒有寫的權限。那是不是你創建一個文件,你就得修改一下文件的權限。在不知道umask這個指令之前或許是,但是現在可以一鍵設置,哈哈
處理這個問題很簡單的啦!那就是說只要保證我們的文件權限為664就可以了唄!
那么我們的umask的數值就應該是002了,而不是022.
1.7 如何設置umask
umask后邊直接跟上數值就可以了
[root@iZbp13q6hd8z3xaagcmz6gZ learn]# umask 002[root@iZbp13q6hd8z3xaagcmz6gZ learn]# touch test;ll test-rw-rw-r-- 1 root kaka 0 Aug 16 10:49 test[root@iZbp13q6hd8z3xaagcmz6gZ learn]#
1.8 umask默認值的注意點
為了安全考慮root用戶為022,其他用戶為002
文件:(-rw-rw-rw)- (--------wx) = -rw-rw-r--
目錄:(drwxrwxrwx)- (d-------wx) = drwxrwxr--
文件除了有那三個權限之外,還有隱藏的屬性,下面看一下
2.1 chattr設置文件隱藏屬性
:+ 增加某一個特殊參數,其他原本存在參數則不動。
:- 移除某一個特殊參數,其他原本存在參數則不動。
:= 設置一定,且僅有后面接的參數
參數:
a :當設置 a 之后,這個文件將只能增加數據,而不能刪除也不能修改數據,只有root 才能設置這屬性
i :這個 i 可就很厲害了!他可以讓一個文件“不能被刪除、改名
[root@iZbp13q6hd8z3xaagcmz6gZ learn]# chattr +a kaka.php[root@iZbp13q6hd8z3xaagcmz6gZ learn]# lsattr kaka.php-----a-------e-- kaka.php
2.2 查看文件的隱藏屬性
lsattr 文件名
2.3 注意點
只要設置了隱藏屬性,不管任何用戶都無法逃脫這個屬性的作用。root用戶也是
文件權限重要的有三個,那就是rwx這三個權限,但是在測試目錄的時候會發現,我們有的目錄跟文件的權限是有點怪怪的,下面我們來看一下
[root@iZbp13q6hd8z3xaagcmz6gZ /]# ls -ld tmpdrwxrwxrwt. 13 root root 4096 Aug 16 03:38 tmp[root@iZbp13q6hd8z3xaagcmz6gZ /]# ls -l /usr/bin/passwd-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
文件權限不應該只有rwx,這里怎么會有特殊權限,t跟s
SUID
當s這個標志出現在文件擁有者的x權限上時,例如passwd這個文件的權限狀態--rwsr-xr-x,此時就被稱為set uid,簡稱為SUID的特殊權限
SUID權限僅對二進制程序有效
執行者對于該程序需要具有x的可執行權限
本權限僅在執行該程序的過程中有效
執行者將具有該程序擁有者的權限
白話文簡單的說一下,在linux中所有賬號的密碼都記錄在/etc/shadow這個文件中,這個文件的權限為---------- 1 root root 866 Aug 13 15:28 /etc/shadow,意思是這個文件僅有root可讀,且僅有root可以強制寫入,既然這個文件只有root可以修改,那么另外一個用戶是否可以修改呢!我們使用另一個用戶輸入passwd這個指令,一般的使用者當然可以修改自己的密碼了
這里是不是有點矛盾了,明明/etc/shadow就不能讓其他用戶去存取,為什么其他用戶可以修改,這就是SUID的功能了
dmtsai 對于 /usr/bin/passwd 這個程序來說是具有 x 權限的,表示 dmtsai 能執行
passwd;
passwd 的擁有者是 root 這個帳號;
dmtsai 執行 passwd 的過程中,會“暫時”獲得 root 的權限;
/etc/shadow 就可以被 dmtsai 所執行的 passwd 所修改。
但如果 dmtsai 使用 cat 去讀取 /etc/shadow 時,他能夠讀取嗎?因為 cat 不具有 SUID 的權
限,所以 dmtsai 執行 “cat /etc/shadow” 時,是不能讀取 /etc/shadow 的。
注意點:SUID對于目錄來說是無效的
SGID
SBIT
由于這里的的幾個特權會在后邊進行詳細介紹,這里就先暫時只寫這一個,后邊在返回來補充
到此,相信大家對“Linux文件與目錄的默認權限與隱藏權限”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。