setfacl 設置文件訪問控制列表ide
用法:測試
setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
參數:spa
-m, --modify=acl 更改文件的訪問控制列表 -M, --modify-file=file 從文件讀取訪問控制列表條目更改 -x, --remove=acl 根據文件中訪問控制列表移除條目 -X, --remove-file=file 從文件讀取訪問控制列表條目並刪除 -b, --remove-all 刪除全部擴展訪問控制列表條目 -k, --remove-default 移除默認訪問控制列表 --set=acl 設定替換當前的文件訪問控制列表 --set-file=file 從文件中讀取訪問控制列表條目設定 --mask 從新計算有效權限掩碼 -n, --no-mask 不從新計算有效權限掩碼 -d, --default 應用到默認訪問控制列表的操做 -R, --recursive 遞歸操做子目錄 -L, --logical 依照系統邏輯,跟隨符號連接 -P, --physical 依照天然邏輯,不跟隨符號連接 --restore=file 恢復訪問控制列表,和「getfacl -R」做用相反 --test 測試模式,並不真正修改訪問控制列表屬性 -v, --version 顯示版本並退出 -h, --help 顯示本幫助信息
案例1:rest
[root@localhost ~]# getfacl test # file: test # owner: root # group: root user::r-x user:tank:rwx #effective:--- group::r-x #effective:--- mask::--- other::--- [root@localhost ~]# setfacl -m u:zhangy:rw- test #修改文件的acl權限,添加一個用戶權限 [root@localhost ~]# getfacl test # file: test # owner: root # group: root user::r-x user:zhangy:rw- #多出來一個用戶 user:tank:rwx group::r-x mask::rwx other::--- [root@localhost ~]# setfacl -m g:zhangying:r-w test #添加一個組 [root@localhost ~]# getfacl test # file: test # owner: root # group: root user::r-x user:zhangy:rw- user:tank:rwx group::r-x group:zhangying:rw- mask::rwx other::---
案例2:code
[root@localhost ~]# getfacl test #查看acl # file: test # owner: root # group: root user::rw- group::r-- other::r-- [root@localhost ~]# setfacl -m u:tank:rx test #給tank用戶向test文件增長讀和執行的acl規則 [root@localhost ~]# getfacl test #查看acl # file: test # owner: root # group: root user::rw- user:tank:r-x #已加入 group::r-- mask::r-x other::r-- [root@localhost ~]# setfacl -m u::rwx test #設置默認用戶,讀,寫,可執行 [root@localhost ~]# getfacl test # file: test # owner: root # group: root user::rwx user:tank:r-x group::r-- mask::r-x other::r-- [root@localhost ~]# setfacl -b test #清除全部acl [root@localhost ~]# getfacl test # file: test # owner: root # group: root user::rwx group::r-- other::r-- [root@localhost ~]# setfacl -m u:tank:rx test #給tank用戶向test文件增長讀和執行的acl規則 [root@localhost ~]# setfacl -m u:testtank:rx test #給testtank用戶向test文件增長讀和執行的acl規則 [root@localhost ~]# getfacl test # file: test # owner: root # group: root user::rwx user:testtank:r-x user:tank:r-x group::r-- mask::r-x other::r-- [root@localhost ~]# setfacl -x u:tank test #清除tank用戶,對test文件acl規則 [root@localhost ~]# getfacl test # file: test # owner: root # group: root user::rwx user:testtank:r-x group::r-- mask::r-x other::r--
設置組的話只須要把setfacl -m u::rwx 中的u改成g便可,大體差很少。blog
設置mask的話,setfacl -m u::rwx 中的u改成m,而且這個可不針對用戶和組哦,其餘的大體差很少。遞歸
在使用-R時,記得放在-m前面,不然不能夠地rem
使用-d的話,就會把默認的都加上去,針對目錄哦。get