参考命令:


一、开启/关闭selinux

 

Android selinux权限 selinux权限配置_Apache

getenforce:查看selinux运行状态

setenforce 0 :关闭selinux

setenforce 1 :开启selinux

系统启动时默认开启或关闭编辑文件/etc/selinux/config进行设置

 

 

Android selinux权限 selinux权限配置_selinux_02

 

enforcing  开启

disabled   关闭

permissive 警告但不拦截

 

二、配置selinux

1、     标记目录的selinux权限

 

Android selinux权限 selinux权限配置_Android selinux权限_03

格式:semanage fcontext –a –t  标签名 目录名

 标签名如 samba_share_t(允许samba读写) httpd_sys_content_t(允许http进程读写)等,都是固定的。这里的标签名也叫selinux安全上下文。

 目录名的书写格式 /common(/.*)?    代表/common下的所有文件

 -a 添加     -t 规则类型为selinux上下文    这两个参数都会带

2、刷新目录的selinux权限

 

Android selinux权限 selinux权限配置_selinux_04

格式:restorecon –Rv 目录名

参数R:递归,目录下的所有文件均执行

参数v:将结果显示在屏幕

 

3、ls –Z 查看结果

 

Android selinux权限 selinux权限配置_Android selinux权限_05

 

 

Android selinux权限 selinux权限配置_标签名_06

 

 

参考资料:https://www.ibm.com/developerworks/cn/linux/1303_caojh_selinux2/

 

可以读取的文件和目录类型是 public_content_t。其他服务如 Apache、Samba 和 NFS 也可以,但是 public_content_t 类型的文件不能被写入,即使 Linux 权限允许。如果你需要写入或者修改,必须使用 public_content_rw_t 的类型。

public_content_rw_t:可以读取和写入的文件和目录类型是 public_content_rw_t,其他服务其他服务如 Apache,Samba 和 NFS 也可以,不过必须开放相关的布尔变量。