Linux 系統標準的 ugo/rwx 集合並不容許爲不一樣的用戶配置不一樣的權限,因此 ACL 便被引入了進來,爲的是爲文件和目錄定義更加詳細的訪問權限,而不單單是這些特別指定的特定權限。less
ACL 能夠爲每一個用戶,每一個組或不在文件所屬組中的用戶配置相應的權限。ACL 可以使用 setfacl 來設置(和移除),可相應地使用 -m 或 -x 選項。測試
例如,建立一個名爲 aliyun 的組,並將用戶 uread 和 uwrite 加入該組:spa
groupadd aliyun
code
useradd -G aliyun -M uread -p uread
regexp
useradd -G aliyun -M uwrite -p uwrite
blog
在 /alidata 共有5個 txt 文件,只能 root 用戶進行修改,其餘用戶只讀。ip
uread 用戶嘗試修改文件,提示沒有權限get
使用 setfacl 修改權限,使 aliyun 組對 alidata 下 1.txt 文件可讀寫。string
1. 修改前先查看一下1.txt 文件權限it
getfacl /alidata/1.txt
2. 使用以下指令進行配置:
setfacl -m g:aliyun:rw /alidata/1.txt
3. 修改後權限 aliyun 組對1.txt 文件有寫權限:
4. 測試添加的權限,uread 和 uwrite 均可以讀寫 1.txt
5. 去掉 uread 的寫權限
setfacl -m u:uread:r /alidata/1.txt
6. 測試 uread 已經不能修改文件了
7. 去除權限 1.txt 的權限
setfacl -x u:uread /alidata/1.txt
setfacl -x g:aliyun /alidata/1.txt