ACL是Access Control List的縮寫,主要的目的是在提供傳統的owner,group,others的read,write,execute權限之外的局部權限設定。ACL可以針對單個用戶,單個文件或目錄來進行r,w,x的權限設定,特別適用於需要特殊權限的使用情況。簡單地來說,ACL就是可以設置特定用戶或用戶組對於一個文件/目錄的操作權限。
首先要查看系統是否支持ACL,具體的操作步驟如圖:
有圖可以看出是支持ACL的。要是不支持可以通過命令mount -o remount,acl /dev/sda1來重新掛載。
1.setfacl設置文件權限
setfacl參數如下:
-m :設置後續的acl參數
-x :刪除後續的acl參數
-b :刪除所有的ACL設定參數
-R :遞歸設置acl參數
-d :設置預設的acl參數(只對目錄有效,在該目錄新建的文件也會使用此ACL默認值)
-k :刪除預設的ACL參數
eg:setfacl -m u:user1:rw my.cnf-sample.txt
2.getfacl查看文件權限
eg:getfacl my.cnf-sample.txt
3.刪除文件權限
eg:setfacl -x u:user1 my.cnf-sample.txt
4.清空文件權限
eg:setfacl -b my.cnf-sample.txt
上邊都是針對單個文件的,同理也可以針對文件夾來進行設置。如果要在某個文件夾下新增的文件(夾)繼承屬性的話可以用如下的命令:setfacl -m d:u:user1:rw -R my.cnf-sample.txt來實現。