許可權管理是linux中乙個十分重要的概念,也是系統安全性的重要保障。
一、基本許可權
使用者對檔案擁有所有者,所屬組和其他人三個身份,每個身份都有讀寫執行三個許可權。
-rw-r--r--:第乙個"-"位置是代表檔案型別的。
檔案許可權前的第乙個字母用來標識檔案型別:
-:一般檔案
d:目錄檔案
b:塊裝置檔案
c:字元裝置檔案
l:鏈結檔案
p:人工管道
常見的為-,d,i
rw- r-- r-- :檔案許可權
u g o
u所有者,g所屬組,o其他人
r讀 w寫 x執行 -不具有許可權
8進製數值表示方法
r:4
w:2
x: 1
如:-rw- r-- r--的意思就是這個檔案的型別是一般檔案,檔案本身所在的使用者可讀可寫不可執行,所在的組可讀,不可寫不可執行,其他使用者可讀,不可寫不可執行。
許可權管理命令
chmod 改變檔案或目錄許可權
英語原意:change the permissions mode of a file
語法:1、chmod【ugoa】【+-=】【rwx】【檔案或目錄】
執行許可權:檔案所有者和root使用者
2、許可權的數字表示
chmod 【421】【檔案或目錄】
chown 更該檔案或目錄的所有者
英語原意:chamge file ownership
執行許可權:root
語法:chown 【使用者】【檔案或目錄】
chgrp 改變檔案或目錄的所屬組
英語原意:change file froup ownnership
執行許可權:root
語法:chgrp【使用者組】【檔案或目錄】
二、預設許可權
umask 顯示、設定檔案的預設許可權
英語原意:the user file-creation mask
語法:umask【選項】
執行許可權:root
-s 以
rwx形式顯示新建檔案預設許可權
看到目錄預設的許可權和umask -s的許可權一致,touch的許可權每位比umask -s顯示的許可權少乙個x許可權,在linux會把任何乙個新建的檔案的可執行許可權去掉(基於安全性考慮),所以也是和umask -s的許可權是一樣的
直接輸入umask,得到0022,第乙個0是特殊許可權,後三位代表正常許可權,表示擁有者,所屬組,其他使用者,但其實真正的許可權是777-022=755,所以是rwxr-xr-x
設定預設許可權為754,應由777-754=023
umask 023,但不建議更改,預設的許可權是比較合理的
三、acl許可權
有時候,所有者,所屬組,其他人三個身份的許可權是770,假如想要某乙個使用者的身份為5,那麼這些身份許可權就滿足不了要求了,就要使用到acl許可權了。
acl許可權
需要檔案所在的分割槽支援acl許可權
檢視分割槽acl許可權是否開啟
dumpe2fs -h /dev/sda3
dumpe2fs命令是查詢指定分割槽詳細檔案系統資訊額命令
-h 僅顯示超級塊中資訊,而不顯示磁碟塊組的詳細資訊
df 檢視分割槽使用狀況,檢視到/為/dev/sda3
預設掛載選項,支援acl,預設都開啟了acl。
若沒有開啟
臨時開啟分割槽acl許可權
mount -o remount,acl/ 重新掛載跟分割槽,並掛載加入acl許可權
永久開啟分割槽acl許可權
vim /etc/fstab 是系統開機自動掛載檔案
在defaults後加,acl,重啟系統或重新掛載檔案系統就可以了,當然,在預設的情況下,本身就支援acl的。
檢視與設定acl許可權
getacle 檔名 檢視acl許可權
setfacl 【選項】 檔名 設定acl許可權
-m 設定acl許可權
-x 刪除指定的acl許可權
-b 刪除所有的acl許可權
-d 設定預設acl許可權
-k 刪除預設acl許可權
-r 遞迴設定acl許可權
setfacl -m u:test:rx //root/wt/ u/g
為給使用者/組分配acl,test為使用者名稱,rx為寫執行許可權,/root/wt為檔名)
可以看到,許可權後面多了個+號,然後使用getfacl檢視acl許可權,可以看到user:test:r-x
最大有效acl許可權與刪除acl許可權
mask是用來指定最大有效許可權的。如果我給使用者賦予了acl許可權,是需要和mask的許可權「相與」才能得到使用者的真正許可權。
相與就是邏輯運算兩個都為真才為真,如user的讀r許可權和mask的讀r許可權相與為讀許可權,若其中任何乙個為-許可權,則結果就為-許可權。
上面用setfacl -m u來指定使用者,用m來指定mask的許可權
當然,mask設定成了rwx許可權,任何許可權與他相與,都是本身,所以預設的mask許可權是合理的。
刪除acl許可權
setfacl -x u:使用者名稱 檔名 刪除指定使用者的acl許可權
setfacl -b 檔名 刪除檔案的所有的acl許可權
預設acl許可權和遞迴acl許可權
遞迴acl許可權:遞迴是父目錄在設定acl許可權時,所有的子檔案和子目錄也會擁有相同的acl許可權。之前所說的命令,也有遞迴的概念,比如mkdir和rm的時候。
setfacl -m u:使用者名稱:許可權 -r檔名
但是新建的檔案不是擁有acl許可權。
預設acl許可權
預設acl許可權的作用是如果給父目錄設定了預設acl許可權,那麼父目錄中所有新建的子檔案都會繼承父目錄的acl許可權。
setfacl -m d:u:使用者名稱:許可權 檔名
Linux許可權管理
預設許可權 特殊許可權 suid 以檔案的所屬使用者身份執行而非執行檔案的使用者 sgid 以檔案所屬組身份執行 sticky 許可權 對檔案的影響 對目錄的影響 suid 以檔案的所屬使用者身份執行而非執行檔案的使用者 無 sgid 以檔案所屬組身份執行 在該目錄中建立的任意新檔案的所屬組與該目錄...
Linux許可權管理
linux許可權管理 1 檔案訪問許可權 1 檔案訪問者的分類 a 檔案和檔案目錄的所有者 u user b 檔案和檔案目錄的所有者所在的組的使用者 g group c 其它使用者 o others 2 檔案訪問許可權的種類 a 基本許可權 i.讀 r 4 read 對檔案而言,具有讀取檔案內容的許...
linux 許可權管理
linux許可權管理 1 檔案訪問許可權 1 檔案訪問者的分類 a 檔案和檔案目錄的所有者 u user b 檔案和檔案目錄的所有者所在的組的使用者 g group c 其它使用者 o others 2 檔案訪問許可權的種類 a 基本許可權 i.讀 r 4 read 對檔案而言,具有讀取檔案內容的許...