SElinux 增强安全型Linux
DAC 主动访问控制 原来的UGO模型权限设置,就是DAC模式
MAC 强制访问控制 有了SElinux的模式,就是MAC模式
有了selinux后,每一个文件都有一个标记
特定标记的进程只能访问特定标记的资源,
特定标记的进程不能访问其他资源,即使有权限也不能访问
这个标记也称之为上下文,
ls -lZ
显示文件的上下文,比ll 多的第三部分就是上下文信息,
grep ^DocumentRoot /etc/httpd/conf/httpd.conf
查看这个配置文件中的以DocumentRoot开头的配置信息,
则显示了阿帕奇的主目录 /var/www/html这个目录。
/var/www/html/ 这是阿帕奇服务的主目录,网页信息都在这个目录下
此目录下 index.html 就是此服务器的主页
ps auxZ |grep httpd
显示阿帕奇的一些进程,这些进程就是客户端用来访问阿帕奇服务的进程
ls -ldZ /var/www/html 查看 此目录包含的上下文信息
可以得知,标记为httpd 的进程,可以访问标记为httpd_sys_content_t的目录
chcon -R -t xxxxxxx(上下文) /www(要改变的文件或目录)
更改文件或者目录的上下文
chcon -R --reference /var/www/html /www/
按照/var/www/html 的上下文来修改 /www的上下文
restorecon -R /www/
还原/www为默认的上下文
修改文件目录的默认上下文
semanage fcontext -l 列出所有目录的上下文信息
semanage fcontext -a -t httpd_sys_content_t '/www(/.*)? '
修改''内的默认上下文为 httpd_sys_content_t
semanage fcontext -d -t httpd_sys_content_t '/www(/.*)? '
删除这个默认的上下文。删除后上下文恢复到 default_t
selinux 三种模式:
getenforce 查看当前模式
一、Enfoecing 强制模式 阻止 警告
二、Permissive 允许模式 不阻止 警告
setenforce 0 进入permissive模式
setenforce 1 进入enforecing 模式
这种切换只是临时生效。重启后无效。
/etc/selinux/config 或者 /etc/sysconfig/selinux
后者是前者的软连接
selinux=enforcing
此配置文件里可修改selinux的默认值
三、disable disable 模式只能在配置文件中个更改才可以,无法用setenforce 切换。并且更改后还得重启一下
selinux的布尔值:
像一种功能开关,给原本的服务开启是否又增加的一个开关
getsebool -a 查看系统中所有的布尔值
如果一种服务功能实现不了,客户端往服务器写东西写不了
一 ,查看服务本身的配置文件中此功能是否开启
二,查看文件系统是否允许(UGO)
三,考虑selinux (上下文) 和 布尔值
setsebool xxxxxx on/off 开启关闭某服务功能
这是临时生效的
setsebool -p xxxxxx on/off 写入到配置文件,永久生效
system-config-selinux & 图形化selinux 管理
DAC 主动访问控制 原来的UGO模型权限设置,就是DAC模式
MAC 强制访问控制 有了SElinux的模式,就是MAC模式
有了selinux后,每一个文件都有一个标记
特定标记的进程只能访问特定标记的资源,
特定标记的进程不能访问其他资源,即使有权限也不能访问
这个标记也称之为上下文,
ls -lZ
显示文件的上下文,比ll 多的第三部分就是上下文信息,
grep ^DocumentRoot /etc/httpd/conf/httpd.conf
查看这个配置文件中的以DocumentRoot开头的配置信息,
则显示了阿帕奇的主目录 /var/www/html这个目录。
/var/www/html/ 这是阿帕奇服务的主目录,网页信息都在这个目录下
此目录下 index.html 就是此服务器的主页
ps auxZ |grep httpd
显示阿帕奇的一些进程,这些进程就是客户端用来访问阿帕奇服务的进程
ls -ldZ /var/www/html 查看 此目录包含的上下文信息
可以得知,标记为httpd 的进程,可以访问标记为httpd_sys_content_t的目录
chcon -R -t xxxxxxx(上下文) /www(要改变的文件或目录)
更改文件或者目录的上下文
chcon -R --reference /var/www/html /www/
按照/var/www/html 的上下文来修改 /www的上下文
restorecon -R /www/
还原/www为默认的上下文
修改文件目录的默认上下文
semanage fcontext -l 列出所有目录的上下文信息
semanage fcontext -a -t httpd_sys_content_t '/www(/.*)? '
修改''内的默认上下文为 httpd_sys_content_t
semanage fcontext -d -t httpd_sys_content_t '/www(/.*)? '
删除这个默认的上下文。删除后上下文恢复到 default_t
selinux 三种模式:
getenforce 查看当前模式
一、Enfoecing 强制模式 阻止 警告
二、Permissive 允许模式 不阻止 警告
setenforce 0 进入permissive模式
setenforce 1 进入enforecing 模式
这种切换只是临时生效。重启后无效。
/etc/selinux/config 或者 /etc/sysconfig/selinux
后者是前者的软连接
selinux=enforcing
此配置文件里可修改selinux的默认值
三、disable disable 模式只能在配置文件中个更改才可以,无法用setenforce 切换。并且更改后还得重启一下
selinux的布尔值:
像一种功能开关,给原本的服务开启是否又增加的一个开关
getsebool -a 查看系统中所有的布尔值
如果一种服务功能实现不了,客户端往服务器写东西写不了
一 ,查看服务本身的配置文件中此功能是否开启
二,查看文件系统是否允许(UGO)
三,考虑selinux (上下文) 和 布尔值
setsebool xxxxxx on/off 开启关闭某服务功能
这是临时生效的
setsebool -p xxxxxx on/off 写入到配置文件,永久生效
system-config-selinux & 图形化selinux 管理