Linux許可權管理

2021-07-25 08:41:55 字數 3790 閱讀 7461

許可權管理是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 對檔案而言,具有讀取檔案內容的許...