acl是access conrol list的縮寫,acl許可權的主要作用是為了解決linux系統當中,owner、group和others的許可權不夠用的問題。假設有這樣乙個目錄/home/work,它的所有者是root,所屬組是sn,所有者和所屬組擁有的許可權均為rwx,others什麼許可權也沒有。那麼如果還有乙個使用者st需要檢視和執行這個目錄下的檔案,那該怎麼設定許可權呢?這個時候,owner、group和others沒法解決問題,需要使用acl許可權來對使用者st進行特別處理。
要使用acl許可權,首先檔案系統必須支援acl許可權。事實上,目前絕大部分的檔案系統都是支援acl許可權功能的。使用下面這條指令可以檢視看檔案系統是否支援acl。
dumpe2fs -h 裝置名
下面是執行dumpe2fs -h /dev/sda6
的結果,/dev/sda6掛載在/上。
filesystem volume name:
last mounted on: /
filesystem uuid: f233fe5f-7567-44ca-adb8-1865961d02c7
filesystem magic number: 0xef53
filesystem revision #: 1 (dynamic)
filesystem flags: signed_directory_hash
default mount options: user_xattr acl
....(後面省略)....
從第八行可以看到,檔案系統支援acl許可權。
(其實,centos在預設情況下已經加入了acl支援)
mount -o remount,acl /
修改/etc/fstab
uuid=f233fe5f-7567-44ca-adb8-1865961d02c7 / ext4 defaults,**acl** 1 1
重新掛載或者重啟系統生效。
setfacl -m u:使用者名稱:rx 目錄或檔案
或setfacl -m g:組名:rx 目錄或檔案
setfacl -m u:st:rx work/
-m:表示新增acl許可權
u:st:rx 表示使用者是st,許可權為rx,
work 這是目錄
getfacl 目錄或檔名可以檢視acl許可權
例如:
在上面getfacl指令返回的結果當中有一行mask:rwx,給某個使用者設定的acl許可權需要與mask設定的許可權相與,得到的許可權才是使用者得到的真正的許可權。上面的使用者得到的實際許可權是rx,因為r_x&&rwx=r_x
setfacl -x u:使用者名稱:rx 目錄或檔案
刪除使用者的acl許可權
或setfacl -x g:組名:rx 目錄或檔案
刪除組的acl許可權
setfacl -b 目錄或檔名
刪除所有的acl許可權
遞迴acl許可權
setfacl -m u:使用者名稱:rx -r 目錄
遞迴設定acl許可權
預設acl許可權
setfacl -m d:u:使用者名稱:rx -r 目錄
linux ACL許可權控制
一 acl的使用 acl即access control list 主要的目的是提供傳統的owner,group,others的read,write,execute許可權之外的具體許可權設定,acl可以針對單一使用者 單一檔案或目錄來進行r,w,x的許可權控制,對於需要特殊許可權的使用狀況有一定幫助。...
Linux ACL許可權控制
acl許可權控制主要目的是提供傳統的owner,group,other的read,wirte,execute許可權之外的具體許可權設定,可以針對單一使用者,單一檔案或者目錄來設定特定的許可權。比如 某一目錄許可權為 drwx 2 root root 4096 03 10 13 51.acldir 使...
linux ACL許可權控制
一 acl介紹 acl即access control list 主要的目的是提供傳統的owner,group,others的read,write,execute許可權之外的具體許可權設定,acl可以針對單一使用者 單一檔案或目錄來進行r,w,x的許可權控制,對於需要特殊許可權的使用狀況有一定幫助。如...