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权限)

 

 

 

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