安裝軟件包
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默認權限。