acl語法備忘

ACL 是 Access Control List 的縮寫,主要的目的是在提供傳統的 owner,group,others 的 read,write,execute 權限之外的細部權限設定。ACL 可以針對單一使用者,單一檔案或目錄來進行 r,w,x 的權限規範,對於需要特殊權限的使用狀況非常有幫助。

acl不是所有文件系統都支持,若要知道支持情況,可以dumpe2fs來查看

 如果你的系統默認不加上 acl 的支持,可以用一下指令來添加:

[root@www ~]# mount -o remount,acl /

[root@www ~]# mount

/dev/hda2 on / type ext3 (rw,acl)

# 這樣就加入了!但是如果想要每次開機都生效,那就這樣做:

[root@www ~]# vi /etc/fstab LABEL=/1 / ext3 defaults,acl 1 1


acl的操作有setfacl 和 geflcal

設定acl方法 setfacl

[root@www ~]# setfacl [-bkRd] [{-m|-x} acl 參數] 目標文件名 選項與參數:

-m :設定後續的 acl 參數給檔案使用,不可與 -x 合用;

-x :刪除後續的 acl 參數,不可與 -m 合用;

-b :移除所有的 ACL 設定參數;

-k :移除預設的 ACL 參數,關於所謂的『預設』參數於後續範例中介紹;

-R :遞歸設定 acl ,亦即包括次目錄都會被設定起來;

-d :設定『預設 acl 參數』的意思!只對目錄有效,在該目錄新建的數據會引用 此默認值

示例:

[root@www ~]# setfacl -m u:vbird1:rx acl_test1 /*對於acl_test1文件來說,是其用戶vbird1權限設定爲r_x */

查看acl方法 getfacl

[root@www ~]# getfacl acl_test1

# file: acl_test1  <==說明檔名而已!

# owner: root    <==說明此檔案的擁有者,亦即 ll 看到的第三使用者字段

# group: root    <==此檔案的所屬羣組,亦即 ll 看到的第四羣組字段

user::rwx          <==使用者列表欄是空的,代表檔案擁有者的權限 

user:vbird1:r-x  <==針對 vbird1 的權限設定爲 rx ,與擁有者並不同!

group::r--        <==針對檔案羣組的權限設定僅有 r

mask::r-x         <==此檔案預設的有效權限 (mask) /*起限制權限作用,規定使用者或羣組所設定的權限必須要存在於 mask 的權限設定範圍內纔會生效 */

other::r--         <==其他人擁有的權限囉! 


setfacl還能對group做限制,例如:

[root@www ~]# setfacl -m g:mygroup1:rx acl_test1


acl設置權限如果要對文檔下所有新生成文件都生效時,需要帶 -d 參數

如果要刪除acl所做的限制,用參數 -b




 





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章