Linux Semanage和Acl

一、Semanage

Smanage用於查詢和修改SELinux默認目錄的安全上下文。

常見語法:

semanage {login|user|port|interface|fcontext|translation} -l

semanage fcontext -{a|d|m} [-frst] file_spec

-l:查詢、-a:增加、-d:刪除、-m:修改、-f:文件、-s:用戶、-t:類型、-r:角色、fcontext安全上下文。

詳細參數可參考:http://blog.sina.com.cn/s/blog_70ca787b01013a9c.html

例子修改目錄默認安全上下文:

http://c.biancheng.net/view/1152.html

 

二、Acl

目前常用於較爲複雜目錄文件權限控制。

1、查看分區ACL權限是否開啓:dumpe2fs -h 分區路徑 ---- 顯示 Default mount options:    user_xattr acl

2、開啓分區ACL權限:

臨時開啓:mount -o remount,acl /

永久開啓:vim /etc/fstab 修改下面:

UUID=490ed737-f8cf-46a6-ac4b-b7735b79fc63 /                       ext4    defaults,acl        1 1

然後重新掛載:mount -o remount /

3、設置ACL權限:setfacl

選項:

-m:設定ACL權限

-x:刪除指定的ACL權限

-b:刪除所有的ACL權限

-d:設定默認ACL權限

-k:刪除默認ACL權限

-R:遞歸設定ACL權限

例子:

setfacl -m u:root:r-x /project

setfacl -m g:root:rwx /project

setfacl -m m:rw /project 修改文件的mask權限。

ll某個文件或者目錄有+號,例如drwxrwx--+表示具有ACL權限。

4、查看ACL權限:

getfacl 文件名

5、刪除ACL權限:

serfacl -x u:用戶名 文件名

setfacl -x g:組名 文件名

setfacl -b 文件名 (刪除所有ACL權限)

6、遞歸ACL權限:

setfacl -m u:用戶名:權限 -R 文件名  (對新建不生效)

7、默認ACL權限:

setfacl -m d:u:用戶名:權限 文件名 (新建的子文件會繼承父目錄的ACL權限)

 

 

 

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