acl,即訪問控制列表(access control list), 可以實現更為靈活的檔案訪問許可權控制,除了檔案的所有者,所屬組和其他人,可以為更多的使用者設定許可權,acl可以對特定的使用者、特定的使用者組、特定的檔案或目錄來進行rwx
的許可權控制。
如,某乙個檔案,不讓單一的某個使用者訪問。
1.設定檔案訪問許可權setfacl
chmod
命令可以把檔案許可權分為u:g:o
,也就是(user:group:other)三組,而setfacl
可以對每乙個檔案或目錄設定更精確的檔案許可權,setfacl
可以理解為檔案訪問許可權擴充套件或者說增強。
語法如下:
setfacl [-bkndrlp]
file
-m, --modify=acl 修改檔案的acl許可權
格式:setfacl -m file or dir
-m, --modify-file=file 通過acl配置檔案來為檔案設定acl訪問許可權
格式:setfacl -m ***.acl file or dir
***.acl中格式如下:
#u:表示給使用者新增許可權,
#user:指定確定存在的使用者名稱,
#rwx:表示具有訪問檔案具有的許可權
u:user:rwx
#g:表示給用組新增許可權,
# group:指定確定存在的使用者組,
#rwx:表示具有訪問檔案具有的許可權
g:group:r
-x, --remove=acl 刪除檔案的acl訪問許可權
-x, --remove-file=file 刪除file檔案提供的acl許可權
-b, --remove-all 刪除所有 acl 許可權
-k, --remove-default 刪除預設的acl規則。如果沒有預設規則,將不提示。
--set=acl
-set-file=file
--mask 重新計算有效許可權,即使acl mask被明確指定。
-n, --no-mask 不要重新計算有效許可權。setfacl缺省會重新計算acl mask,除非mask被明確的制定。有效許可權是由兩部分組成
的,一部分是通過setfacl設定的許可權,一部分是由mask設定的許可權,通過
setfacl新增進來的使用者具有的許可權會首mask的限制,可以將mask作為乙個
統一控制門限,通過setfacl設定的使用者可以實現一鍵控制。
-d, --default 使用預設的acl許可權操作
-r, --recursive 遞迴設定acl許可權,從當前目錄開始,遞迴設定子目錄下的
檔案及目錄許可權
--restore=file 從檔案恢復備份的acl規則(這些檔案可由getfacl -r產生)。
通過這種機制可以恢復整個目錄樹的acl規則。此引數不能和除--test以外的
任何引數一同執行。
--test 測試模式,不會改變任何檔案的acl規則,操作後的acl規格將被列出。
鏈結目錄。
-v, --version 輸出setfacl的版本號並退出。
-h, --help 輸出幫助資訊。
注意
:
檢查所有者是否具有訪問許可權;
檢查acl
許可權是否具有訪問許可權;
檢查使用者是否具有訪問許可權;
檢查使用者所在的組是否具有訪問許可權;
檢查other
是否具有訪問許可權;
2.備份和恢復acl
主要的檔案操作拷貝命令cp
、scp
等都支援acl
,只需要在命令選項上加上-p
引數即可,但是常用的備份工具是不會保留目錄和檔案acl
資訊。
ACL許可權控制列表
1.檢視檔案系統是否支援acl xfs檔案系統強制開啟acl,如果該分割槽已格式化為xfs,在使用dumpe2fs會看不到superblocks資訊 zheng ubuntu16 sudo dumpe2fs h dev sda1 grep default smount dumpe2fs 1.42.1...
ACL 許可權控制機制
ugo user group others 目前在 linux unix 檔案系統中使用,也是使用最廣泛的許可權控制方式。是一種粗粒度的檔案系統許可權控制模式。acl access control list 訪問控制列表 2 digest 最常用,用類似於 username password 的許可...
zookeeper之許可權控制 ACL
1.許可權控制 zookeeper集群中,通常是由乙個統一的zookeeper集群來為若干個應用提供服務。而此時,各應用之間不存在資料的共享操作場景。因此為了避免zookeeper伺服器上的資料資源被其他程序意外操作修改,需要解決不同應用之間的許可權問題 即對zookeeper伺服器上的資料訪問進行...