setfacl 設置文件訪問控制列表

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--
案例2

 

設置組的話只須要把setfacl -m u::rwx 中的u改成g便可,大體差很少。blog

設置mask的話,setfacl -m u::rwx 中的u改成m,而且這個可不針對用戶和組哦,其餘的大體差很少。遞歸

在使用-R時,記得放在-m前面,不然不能夠地rem

使用-d的話,就會把默認的都加上去,針對目錄哦。get

相關文章
相關標籤/搜索