[QNX]QNX_Linux具體權限規劃之ACL(Access Control List)

鋒影

email:[email protected]

如果你認爲本系列文章對你有所幫助,請大家有錢的捧個錢場,點擊此處贊助,贊助額0.1元起步,多少隨意

 

ACL機制涉及兩條命令:setfacl 、getfacl

 

ACL來源

owner,group,othre搭配的三種權限rwx中,沒辦法針對單一用戶或者某個組。

 

ACL可以針對單一用戶、單一文件或者目錄進行rwx權限設置

用mount命令查看根目錄掛載的分區好,再用dumpe2fs命令查看該分區的superblock內容確定是否支持acl,一般都支持的了。

 


 
  1. jammgit@jammg:~$ sudo dumpe2fs -h /dev/sda12 | grep acl

  2. dumpe2fs 1.42.12 (29-Aug-2014)

  3. Default mount options: user_xattr acl

 

也可以直接修改/etc/fstab文件,加上acl。


如果系統沒加上acl支持,可以:

 

#mount -o remount,acl /


命令用法

 

 


 
  1. setfacl [-bkRd] [{-m|-x} acl參數] 目標文件名

  2. -m 設置後續的acl參數給指定目標文件

  3. -x  刪除,和m選項相反

  4. -b  刪除所有acl參數

  5. -k  刪除默認的acl參數

  6. -R  遞歸設置(針對子目錄)

  7. -d  設置默認acl參數,只對目錄有效

 

 

setfacl 、getfacl格式

 


 
  1. setfacl u:[用戶列表]:[rwx] 目標 //針對用戶。用戶列表爲空時是指文件持有者

  2. setfacl g:[用戶組列表]:[rwx] 目標 // 針對用戶組

  3. setfacl -m m:[rwx] 目標 // 設置文件mask

  4. getfacl 目標

 

例子

 

 


 
  1. jammgit@jammg:/tmp$ setfacl -m u:jammgit_1:rwx testacl

  2. jammgit@jammg:/tmp$ ls -la | grep testacl

  3. -rw-rwxr--+ 1 jammgit jammgit 0 3月 30 18:40 testacl

 


 
  1. jammgit@jammg:/tmp$ getfacl testacl

  2. # file: testacl

  3. # owner: jammgit

  4. # group: jammgit

  5. user::rw- // 用戶權限

  6. user:jammgit_1:rwx // acl機制針對jammgit_1設置的權限,優先級比ls查看到的大。

  7. group::rw- // 用戶組權限

  8. mask::rwx // 屏蔽

  9. other::r-- //其它權限


上面設置用戶或用戶組的權限必須存在雨mask權限範圍纔會生效,即有效權限(effective permission)。

 

例如,如果設置mask爲r:

 


 
  1. jammgit@jammg:/tmp$ setfacl -m m:r testacl

  2. jammgit@jammg:/tmp$ getfacl testacl

  3. # file: testacl

  4. # owner: jammgit

  5. # group: jammgit

  6. user::rw-

  7. user:jammgit_1:rwx        #effective:r--

  8. group::rw-            #effective:r--

  9. mask::r--

  10. other::r--

 

此時,雖然設置了jammgit_1爲rwx,但實際是隻有r;另外,用戶組也收到影響。
 

版權聲明:本文爲博主原創文章,未經博主不允許隨意轉載。 https://blog.csdn.net/Jammg/article/details/51017994

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