ACL:訪問控制列表: Access Control List即文件/目錄的訪問控制列表,能夠針對任意指定的用centos
戶/組設置權限
ACL將用戶對一個文件訪問權限就像是放在了一個列表裏,列表的每一項分別對應了一個或一組ide
具體用戶對該文件的特定訪問權限。這就使任意的訪問權限管理成爲了可能。繼承
設定ACL:
格式: setfacl [option] id:operand
#setfacl -m u:UID:PERM 設定用戶
#setfacl -m g:GID:PERM 設定組
#setfacl -m g:UID:PERM 設定某個組的某個用戶的acl權限
[注: id 用戶 (查看用戶的id信息)]
例:
setfacl -m u:centos:rw gentoo.c (對centos用戶設定具備對gentoo.c具備讀寫權限)
設定掩碼權限:
setfacl -m m::rw- 1.c (設置掩碼權限)
setfacl -m u:centos:rwx 1.c
結果1.c的權限是rw而不是rwx,比rw少能夠,比rw多就不行
查看ACL:
#getfacl (文件) 查看ACL
例:
getfacl gentoo.c(查看該文件的acl)
撤銷ACL:
#setfacl -x u:UID (文件) 撤銷用戶權限
#setfacl -x g:GID 組 撤銷組權限get
setfacl
-b 移除文件上全部acl
-k 刪除默認設定
-d 默認訪問列表 (只能設置在目錄上,目錄下的文件能夠自動繼承)
setfacl -m d:u:(用戶):r-- (目錄)
-m 設定有效權限位 setfacl -m m::r-- (文件)it
文件權限管理擴展: S權限 t權限
SUID:Set UID 設置使文件在執行階段具備文件全部者的權限,典型的文件是/etc/passwd.
若是通常用戶執行該文件,則在執行過程當中,該文件能夠得到root權限,從而能夠更改用io
戶密碼。
chmod u+s /root a.txt(爲a.txt設置s爲)
若是a.txt原來沒有執行權限,則添加上的s會是小寫,若是原來有執行權限,S則會是大寫
SGID:Set GID 該權限只對目錄有效。目錄被設置該位後,任何用戶在此目錄下建立的文件都
具備和該目錄所屬的組相同的組。
STICKY:
ll -d /tmp (/tmp的權限是777,就是公共場所,誰均可以新建和刪除,加了在othetclass
用戶上置t
位以後,就誰均可以建,可是隻能刪本身的,不能刪別人的.加在o位置上表示出了屬主test
外的全部
用戶都只能建,不能刪,注意此處的o跟咱們日常理解的o不一樣,日常的o是除了屬主和擴展
屬組。)
例:chmod o+t /project/
SUID,SGID,STICKY 組合使用
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
若是原來一個目錄/tmp/test是755,若是想讓他有SUID,SGID位,則chmod 6755List
/tmp/test便可