SELinux主要使用两种类型的策略:目标和严格。默认的是目标策略,它针对并限制了选定的系统进程。严格策略限制了系统上的所有进程。
sestatus
The above command will display the current SELinux status, including the policy being loaded.
以上命令将显示当前的SELinux状态,包括正在加载的策略。
Configuring SELinux(配置SELinux)(targeted针对的、minimum最小化的、mls多级保护)
System administrators can manipulate(操作) the SELinux settings via the /etc/selinux/config
file. Here, you can set the SELinux mode and choose the policy to load at boot time.
系统管理员可以通过/etc/selinux/config
文件操作SELinux设置。在这里,您可以设置SELinux模式并选择在启动时加载的策略。
# 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
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
The settings in this file will take effect after a system reboot.
这个文件中的设置将在系统重启后生效。
这三种SELinux策略的范围从小到大可以理解为 “minimum” < “targeted” < “mls”。
- Minimum:这是最小的范围,只保护选定的进程。这是对"targeted"策略的一种修改,比"targeted"策略有更少的受保护的进程。
- Targeted:这个策略的范围比"minimum"大。它针对特定的系统进程进行保护,而其它进程则运行在传统的Discretionary
Access Control(DAC)环境下。这是默认的SELinux策略。- MLS (Multi Level Security):这是范围最大的策略,它为所有的系统进程提供了多级别的安全保护。
注意:
在这里,“targeted”和“minimum”是两种不同的SELinux策略类型。
- Targeted:这种策略只针对特定的系统进程进行保护,而其它进程则运行在传统的Discretionary Access Control(DAC)环境下。这是默认的SELinux策略。
- Minimum:这种策略是对"targeted"策略的修改。它只保护选定的进程,但比"targeted"策略有更少的受限制的进程。
所以说,“Targeted processes are protected”和“Only selected processes are protected”虽然看起来很像,但是它们所指的保护范围和级别是不同的。
Working with SELinux Booleans(使用SELinux布尔值)
SELinux booleans allow the administrator to modify SELinux settings on the fly(即时) without any need for policy recompilation(重编译). To get a list of all available SELinux booleans, you can use:
SELinux布尔值允许管理员即时修改SELinux设置,无需重新编译策略。要获取所有可用的SELinux布尔值列表,您可以使用:
getsebool -a
To set a particular boolean value, use the setsebool
command:
要设置特定的布尔值,请使用setsebool
命令:
setsebool -P httpd_can_network_connect 1
In this example, we’re allowing the HTTPD daemon to make(建立) network connections.
在此示例中,我们允许HTTPD守护进程进行网络连接。
getsebool -a
setsebool -P httpd_can_network_connect 1
### 最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
### 资料预览
给大家整理的视频资料:
![](https://img-blog.csdnimg.cn/img_convert/f6d88b64e536478d47a7309b92907c5b.png)
给大家整理的电子书资料:
![](https://img-blog.csdnimg.cn/img_convert/98a757ddd765e94b59c3a9e6ea17b155.png)
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**