setfacl命令

Setfacl  文件權限屬性設置ide

setfacl命令是用來在命令行裏設置ACL(訪問控制列表).測試


注意點ui

若是你的文件系統不支持ACL的話,你也許須要從新mount你的file system: mount -o remount, acl [mount point] spa

若是用chmod命令改變Linux file permission的時候相應的ACL值也會改變,反之改變ACL的值,相應的file permission也會改變。命令行


規則格式

rest

setfacl命令能夠識別如下的規則格式: 
orm

[d[efault]:] [u[ser]:]uid [:perms] 指定用戶的權限,文件全部者的權限(若是uid沒有指定)。 遞歸

[d[efault]:] g[roup]:gid [:perms] 指定羣組的權限,文件全部羣組的權限(若是gid未指定) rem

[d[efault]:] m[ask][:] [:perms] 有效權限掩碼 get

[d[efault]:] o[ther] [:perms] 其餘的權限


命令格式

  1. setfact -m u:user:rwx file 

  2. setfacl -m user:kim:rwx test

  3. setfacl -b test

  4. setfacl -x u:kim: test

  5. getfacl file


選項

-b,--remove-all:刪除全部擴展的acl規則,基本的acl規則(全部者,羣組,其餘)將被保留。 

-k,--remove-default:刪除缺省的acl規則。若是沒有缺省規則,將不提示。 

-n,--no-mask:不要從新計算有效權限。setfacl默認會從新計算ACL mask,除非mask被明確的制定。 --mask:從新計算有效權限,即便ACL mask被明確指定。 

-d,--default:設定默認的acl規則。 對目錄有效

--restore=file:從文件恢復備份的acl規則(這些文件可由getfacl -R產生)。經過這種機制能夠恢復整個目錄樹的acl規則。此參數不能和除--test之外的任何參數一同執行。 

--test:測試模式,不會改變任何文件的acl規則,操做後的acl規格將被列出。 

-R,--recursive:遞歸的對全部文件及目錄進行操做。 

-L,--logical:跟蹤符號連接,默認狀況下只跟蹤符號連接文件,跳過符號連接目錄。 

-P,--physical:跳過全部符號連接,包括符號連接文件。 

--version:輸出setfacl的版本號並退出。 

--help:輸出幫助信息。 --:標識命令行參數結束,其後的全部參數都將被認爲是文件名 -:若是文件名是-,則setfacl將從標準輸入讀取文件名。

選項-m和-x後邊跟以acl規則。多條acl規則以逗號(,)隔開。選項-M和-X用來從文件或標準輸入讀取acl規則。 

選項--set和--set-file用來設置文件或目錄的acl規則,先前的設定將被覆蓋。 

選項-m(--modify)和-M(--modify-file)選項修改文件或目錄的acl規則。 

選項-x(--remove)和-X(--remove-file)選項刪除acl規則。


經常使用實例

  1. setfact -m u:user:rwX file 增長user對file的rwx權限 (X 表示若是目錄或文件在改變以前有x權限則新增,沒有則不處理.)

  2. setfacl -m user:kim:rwx test 增長user對file的rwx權限 

  3. setfacl -b test 清空全部file的acl權限

  4. setfacl -x u:kim: test 刪除file的acl權限

  5. getfacl file  查看file的權限

  6. setfacl -R -m u:user:rwX dir 增長user對dir目錄的rwx權限

  7. setfacl -R -b dir 清除dir目錄下全部acl權限

相關文章
相關標籤/搜索