1. 程式人生 > 實用技巧 >6.2 linux下的許可權管理(特殊許可權)

6.2 linux下的許可權管理(特殊許可權)

六. 特殊許可權

1.粘制位(stickyid)

針對目錄,如果一個目錄stickyid開啟,那麼這個目錄中的檔案只能被檔案所有人刪除。

chmod 1原始許可權 dir
chmod o+t dir

在這裡插入圖片描述
開啟了t許可權之後:
在這裡插入圖片描述
在這裡插入圖片描述

2.強制位(sgid)

針對目錄:目錄中新建的檔案自動歸屬到目錄的所屬組中

chmod 2原始檔許可權 dir
chmod g+s dir

在這裡插入圖片描述
在這裡插入圖片描述

只針對二進位制位檔案(c程式)
當執行二進位制可執行檔案時,g位有s,目錄中的檔案都是以檔案所有組去執行,和執行使用者無關。
在這裡插入圖片描述

3.冒險位(suid)

只針對二進位制可執行檔案(c程式)
當執行二進位制可執行檔案是都是以檔案擁有者

身份執行,和執行使用者無關。

chmod 4原屬性 file
chmod u+s file

在這裡插入圖片描述

在這裡插入圖片描述
設定超級使用者不能執行刪除功能:
在這裡插入圖片描述

七.acl許可權列表

1.access control lists 訪問控制列表

功能:在列表中可以設定特殊使用者對於特殊檔案有特殊許可權
在這裡插入圖片描述

getfacl /mnt/dir/ #檢視許可權管理
setfacl -m u:dizi:— /mnt/dir/ #設定使用者許可權
setfacl -m g:xixi:— /mnt/dir/ #設定組許可權
setfacl -x u:haha /mnt/dir/ #刪除使用者
setfacl -x g:haha /mnt/dir/ #刪除組
setfacl -b /mnt/dir/ #關閉列表功能

在這裡插入圖片描述
在這裡插入圖片描述

2.acl許可權優先順序

擁有者 > acl使用者>擁有組>acl組>其他

3.acl mask控制

mask是能夠賦予指定使用者許可權的最大閾值
問題:當設定完檔案的acl列表之後,用chmod縮小了檔案擁有組的權力,mask會發生變化。
恢復:setfacl -m m:許可權 檔案
在這裡插入圖片描述

4.acl列表的預設許可權

setfacl -m u:lee:rwx /mnt/westosdir #只對/mnt/westosdir目錄本身生效
setfacl -Rm u:lee:rwx /mnt/westosdir #對於/mnt/westosdir目錄和目錄中本身已經存在的內容生效
#以上的命令只是針對與存在的目錄和檔案生效

setfacl -m d:u:lee:rwx /mnt/westosdir #只對目錄中新生成的檔案有效,對原本存在的檔案不生效

八.attr許可權

attr許可權限制所有使用者

chattr +i dir | file #不能做更改
chattr -i dir | file #取消以上更改
chattr +a dir | file #能新增不能刪除
chattr -a dir | file #取消以上更改
lsattr file | dir #檢視attr許可權

在這裡插入圖片描述
練習題
在這裡插入圖片描述
第一題
在這裡插入圖片描述
第二題
在這裡插入圖片描述
第三題
在這裡插入圖片描述
第四題
在這裡插入圖片描述