selinux详解
!该文章为我的学习笔记,文中的截图是老师的授课截图,联系我侵删
1. 临时关闭
setenforce 0 (permissive)
2. 永久关闭
# cat /etc/sysconfig/selinux
SELINUX=disabled
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
查看当前 SELinux 的状态:
# getenforce
Enforcing
# ll -Z //查看文件的安全上下文
-rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg
system_u:user
object_r:角色role
admin_home_t:上下文 // context,能被那些进程 用户访问 靠这个决定
s0:mls
chcon:不会改变规则库,重启也会生效。
semanage:直接改规则库
# ll -Z /var/www/html/ -d
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
httpd 内容

在家目录创建一个index,查看上下文,是admin的家目录下,现在复制到apache的,上下文不变,有seLinux阻止,所以会拒绝访问。

chcon -t httpd_sys_content_t /var/www/html/index.html //修改html的上下文标签为 Httpd_sys_content_t
ll -Z

显示一个? 代表seLinux关了
chcon -R -t httpd_sys_content_t /webapp/cy.html //修改cy的上下文标签为Httpd_sys_content_t递归所有目录
restorecon -R /webapp 递归恢复上下文
44 man semanage
45 man semanage-fcontext
46 semanage fcontext -a -t httpd_sys_content_t "/webapp(/.*)?" //修改上下文为httpd_sys_content_t
48 restorecon -vvR /webapp/ //看详细过程恢复默认
布尔变量
SELinux boolean
# getsebool -a //通过查看有哪些布尔变量

想开改成on 关闭改成off
允许ftp 开启no 布尔变量
#setsebool ftpd_user_nfs=1 //1代表 on

布尔变量的修改方法只是临时生效 重启就没了
#setsebool -P ftpd_user_nfs=1 //永久生效
# sealert -a /var/log/audit/audit.log //查看selinux日志,并会给出解决方案


SELinux : port security //端口安全
vi /etc/ssh/sshd_config //把ssh端口改成1122

重启ssh服务出错


查看日志 报错了,往1122端口绑定无权限

绑定出错! selinux干的

ssh配置文件的友好提示 如何加端口

在重启就好了
# semanage port -a -t ssh_port_t -p tcp 1122
# semanage port --delete -p tcp 1122
# semanage port -l //列出端口对应列表

ssh被绑定在22和1122上。

学会通过man来看

浙公网安备 33010602011771号