一. 概念:mysql
ACL是Access Control List(訪問控制列表)的縮寫,用於linux複雜的用戶權限控制當中。linux
Cent7系統以前,只有系統安裝時建立的文件系統支持ACL,後來建立的文件系統則不支持。sql
Cent7系統後,無論文件系統是否在安裝系統時被創建,都支持ACL。測試
二. 命令:blog
getfacl:用於查看ACL權限。遞歸
setfacl:用於設置ACL權限。ip
三. 用法:rem
1. 查看文件或目錄權限get
getfacl 文件/文件夾名權限控制
例如:
2.修改用戶對文件或目錄的權限
setfacl -m u:uname:access 文件/文件夾名
我將我我的對/root文件夾的訪問權限改爲了可讀可寫,而組內用戶有讀權限,組外用戶無任何權限。
接下來進行測試:
的確,young用戶因爲被賦權。因此能夠在/root目錄下進行讀寫;而mysql用戶因爲未被賦權,且不在root組內,故什麼權限都沒有。
測試完畢後,咱們使用setfacl -b /root取消剛纔添加的ACL權限。
測試完畢。
Tips:
setfacl -m u:uname:access -R 文件夾名:遞歸修改文件夾下全部子目錄和文件的訪問權限。
3. 修改組對文件或目錄的權限:
setfacl g:gid:access 文件/目錄路徑,用法與給用戶賦權一致,故再也不贅述。
4. 移動/複製文件或目錄時須要注意的點:
移動文件/目錄時,默認連帶ACL權限一塊兒移動。
複製文件時,默認不保留權限;須要加使用cp -p命令,才保留權限。
5. 掛載時須要注意的點:
如原來的文件系統不支持ACL權限,咱們能夠將其從新掛載。
mount -o remount, acl 掛載點