安裝軟體包
yum install -y acl
配置acl許可權
用於acl許可權管理的命令主要有兩個:
setfacl //設定acl許可權 getfacl //檢視acl權
首先來看setfacl
常用引數:
-b:刪除所有擴充套件的acl規則,基本的acl規則(所有者,群組,其他)將被保留。 -d:設定預設的acl規則 -R:遞迴的對所有檔案及目錄進行操作。 -m:修改檔案或目錄的acl規則。 -x:刪除指定acl規則。
以上只列出常用引數,詳細命令幫助可參考:http://man.linuxde.net/setfacl
舉個例子:想讓user1這個使用者對~/test目錄擁有全部許可權,除了修改所有者或所屬組之外還能怎樣呢?
且往下看。
setfacl -Rm u:user1:rwx ~/test //使user1使用者對test目錄擁有全部許可權。
執行以上命令後user1使用者即可任意操作~/test目錄。
來看一下這條命令,setfacl,設定acl許可權、引數R代表遞迴應用,m修改許可權、u代表使用者,如果想賦予某個組acl許可權就用g,:後邊接的要賦予acl許可權的使用者名稱或組名(不填則修改所有者或所屬組的acl許可權),緊接著下一個冒號後面跟的就是要賦予這個使用者的許可權了、最後接要操作的目錄或檔名,就這麼簡單。
再來看一個例子:
setfacl -m d:u::rwx ~/test //為test目錄下新建的檔案或目錄設定預設acl許可權,對所有使用者生效
如果寫成這樣:
setfacl -m d:u:user1:rwx ~/test
這條命令執行後可以達到什麼目的呢?我猜,聰明的讀者一定猜到了:是給user1建立的檔案或目錄設定預設acl許可權。
如果你是這樣想的,那麼恭喜你,猜錯了。
這條命令實際的意義其實是給所有使用者建立的檔案或目錄都加上user1這個使用者的rwx的acl許可權~
最後再來看下如何刪除acl許可權
setfacl -x d:u:user1 ~/test //刪除~/test目錄中關於user1的預設acl許可權
setfacl -b ~/test //刪除~/test目錄上所有的acl許可權
檢視acl許可權
檢視acl許可權使用getfacl命令
getfacl ~/test //檢視~/test目錄的acl許可權
會輸入類似如下內容
另外,當我們執行ls -l時會發現,擁有acl許可權的檔案或資料夾其linux預設許可權後面多一個“+”號。
最後需要注意的是:linux預設許可權是優於acl許可權的,就是說當liux預設許可權和acl許可權同時存在時,系統會優先考慮linux預設許可權。