SELinux 从入门到精通教程

1.官方意思
SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。

2.简单意思
selinux就像是一种系统的保护机制,如果关闭它的话,也没什么问题,操作上不会因为selinux而感到阻碍和困难,但是你开启之后,你会感觉做什么都是错的,寸步难行。举个乐子:”当你打开了HTTP服务,内容能正常访问,但是你开启selinux之后就报错,那你会觉得是selinux的问题,然后你就设置好这个内容的selinux的上下文(类似用户权限),又可以正常访问了,然后你开开心心地将一个项目代码上传到网页根目录,不能打开了,你会想到selinux ~~ 首页能打开,但是其他jpg、gif等等不能正常显示,你又改权限,噼里啪啦地一顿操作猛如虎,都可以了,但是跳转到别人的网站又不行了,emmm ~~ 直接重装系统“

3.有点意思
selinux毕竟是保护机制,所以肯定能起到保护作用,保护着系统不被任意修改,保护着站点的权限又严格访问限制,你的文件都是等于数据,数据是钱买不了的,想好好地存在于互联网,就要做相对的安全(没有绝对的安全),通过各种手段保护你的数据不被修改等等,安全意识是非常重要的。

4.没什么意思
selinux是非常好的一种保护机制,但在企业中,大多数是没有使用这个安全机制的,毕竟都是直接关闭的,比如云服务器,你买的时候就已经默认是关闭selinux这个保护机制了。所以在这里演示,后期的软件服务和部署都不会开启。

二、Selinux入门--基本设置

1.关于selinux
selinux在系统的分布

[root@linuxidc ~]# find / -name selinux /sys/fs/selinux /etc/sysconfig/selinux /etc/selinux /usr/lib64/Python2.7/site-packages/selinux /usr/share/selinux /usr/libexec/selinux [root@linuxidc ~]#

2.分析

selinux目录组成:
/sys/:系统全局设备管理目录,比如cgroup、pstore、selinux、xfs都存在这个目录。
/etc/:服务的配置文件目录。
/usr/:存放二进制文件、共享文件、函数库文件、服务执行文件的目录。

3.命令式宽容模式或严格模式(以下设置全局有效)

查看当前selinux的状态 [root@linuxidc ~]# getenforce Enforcing [root@linuxidc ~]# 设置宽容模式 [root@linuxidc ~]# setenforce 0 [root@linuxidc ~]# getenforce Permissive [root@linuxidc ~]# 设置拒绝模式 [root@linuxidc ~]# setenforce 1 [root@linuxidc ~]# getenforce Enforcing [root@linuxidc ~]#

4.配置文件说明(可以设置关闭、宽容、严格模式)
/etc/sysconfig/selinux 是 /etc/selinux/config 文件的软链接
所以修改这两个其中一个,文件内容都会改变。

5.配置文件

[root@linuxidc ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. 开启模式 # permissive - SELinux prints warnings instead of enforcing. 宽容模式 # disabled - No SELinux policy is loaded. 关闭模式 SELINUX=enforcing #设置selinux的状态模式 # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, #目标模式 # minimum - Modification of targeted policy. Only selected processes are protected. #最小化权限控制 # mls - Multi Level Security protection. #多种selinux模式,根据文件的上下文设置而改变访问权限 SELINUXTYPE=targeted #设置selinux的类型,默认目标模式

6.更新配置文件

[root@linuxidc ~]# vim /etc/selinux/config [root@linuxidc ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled #修改配置文件,需要重启系统以生效 # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted [root@linuxidc ~]#

7.重启系统
重启系统方式有很多:
第一种方法:
[root@linuxidc ~]# reboot

第二种方法:
[root@linuxidc ~]# init 6

这是系统启动级别命令,参考我另一个博客文章:

第三种方法:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12646.html