setfacl命令是用來在命令行里設(shè)置ACL(訪問控制列表)。在命令行里,一系列的命令跟隨以一系列的文件名。
選項
-b,--remove-all:刪除所有擴展的acl規(guī)則,基本的acl規(guī)則(所有者,群組,其他)將被保留。-k,--remove-default:刪除缺省的acl規(guī)則。如果沒有缺省規(guī)則,將不提示。-n,--no-mask:不要重新計算有效權(quán)限。setfacl默認會重新計算ACL mask,除非mask被明確的制定。--mask:重新計算有效權(quán)限,即使ACL mask被明確指定。-d,--default:設(shè)定默認的acl規(guī)則。--restore=file:從文件恢復(fù)備份的acl規(guī)則(這些文件可由getfacl -R產(chǎn)生)。通過這種機制可以恢復(fù)整個目錄樹的acl規(guī)則。此參數(shù)不能和除--test以外的任何參數(shù)一同執(zhí)行。--test:測試模式,不會改變?nèi)魏挝募腶cl規(guī)則,操作后的acl規(guī)格將被列出。-R,--recursive:遞歸的對所有文件及目錄進行操作。-L,--logical:跟蹤符號鏈接,默認情況下只跟蹤符號鏈接文件,跳過符號鏈接目錄。-P,--physical:跳過所有符號鏈接,包括符號鏈接文件。--version:輸出setfacl的版本號并退出。--help:輸出幫助信息。--:標(biāo)識命令行參數(shù)結(jié)束,其后的所有參數(shù)都將被認為是文件名-:如果文件名是-,則setfacl將從標(biāo)準(zhǔn)輸入讀取文件名。選項
-m和-x后邊跟以acl規(guī)則。多條acl規(guī)則以逗號(,)隔開。選項-M和-X用來從文件或標(biāo)準(zhǔn)輸入讀取acl規(guī)則。 選項--set和--set-file用來設(shè)置文件或目錄的acl規(guī)則,先前的設(shè)定將被覆蓋。 選項-m(--modify)和-M(--modify-file)選項修改文件或目錄的acl規(guī)則。 選項-x(--remove)和-X(--remove-file)選項刪除acl規(guī)則。當(dāng)使用-M,-X選項從文件中讀取規(guī)則時,setfacl接受getfacl命令輸出的格式。每行至少一條規(guī)則,以#開始的行將被視為注釋。
當(dāng)在不支持ACLs的文件系統(tǒng)上使用setfacl命令時,setfacl將修改文件權(quán)限位。如果acl規(guī)則并不完全匹配文件權(quán)限位,setfacl將會修改文件權(quán)限位使其盡可能的反應(yīng)acl規(guī)則,并會向standard error發(fā)送錯誤消息,以大于0的狀態(tài)返回。
權(quán)限
文件的所有者以及有CAP_FOWNER的用戶進程可以設(shè)置一個文件的acl。(在目前的linux系統(tǒng)上,root用戶是唯一有CAP_FOWNER能力的用戶)
ACL規(guī)則
setfacl命令可以識別以下的規(guī)則格式:
[d[efault]:] [u[ser]:]uid [:perms] 指定用戶的權(quán)限,文件所有者的權(quán)限(如果uid沒有指定)。[d[efault]:] g[roup]:gid [:perms] 指定群組的權(quán)限,文件所有群組的權(quán)限(如果gid未指定)[d[efault]:] m[ask][:] [:perms] 有效權(quán)限掩碼[d[efault]:] o[ther] [:perms] 其他的權(quán)限
新聞熱點
疑難解答