IT门户, 中国互联网人工智能物联网行业资讯平台--公众IT
新闻来源:互联网资料整理       发布时间:2023/4/6 0:59:21       共计:4608 浏览

SELinux 的启动、关闭与查看

1,并非所有的 Linux distributions 都支持 SELinux 的

目前 SELinux 支持三种模式,分别如下:

?enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了;

?permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。这种模式可以运来作为 SELinux 的 debug 之用;

?disabled:关闭,SELinux 并没有实际运作。

2,查看SELinux的模式

# getenforce

Enforcing <==就显示出目前的模式为 Enforcing

3,查看 SELinux 的政策 (Policy)?

# sestatus

SELinux status: enabled <==是否启动 SELinux

SELinuxfs mount: /selinux <==SELinux 的相关文件资料挂载点

Current mode: enforcing <==目前的模式

Mode from config file: enforcing <==设定档指定的模式

Policy version: 21

Policy from config file: targeted <==目前的政策为何?

4,通过配置文件调整SELinux的参数

# vi /etc/selinux/config

SELINUX=enforcing <==调整 enforcing|disabled|permissive

SELINUXTYPE=targeted <==目前仅有 targeted 与 strict

5,SELinux 的启动与关闭

【重要常识】上面是预设的政策与启动的模式!你要注意的是,如果改变了政策则需要重新开机;如果由 enforcing 或 permissive 改成 disabled ,或由 disabled 改成其他两个,那也必须要重新开机。这是因为 SELinux 是整合到核心里面去的, 你只可以在 SELinux 运作下切换成为强制 (enforcing) 或宽容 (permissive) 模式,不能够直接关闭 SELinux 的!

同时,由 SELinux 关闭 (disable) 的状态到开启的状态也需要重新开机啦!所以,如果刚刚你发现 getenforce 出现 disabled 时, 请到上述文件修改成为 enforcing 吧!

【重点】如果要启动SELinux必须满足以下两个点:

所以,如果你要启动 SELinux 的话,请将上述的 SELINUX=enforcing 设定妥当,并且指定 SELINUXTYPE=targeted 这一个设定, 并且到 /boot/grub/menu.lst 这个文件去,看看核心有无关闭 SELinux 了呢?

# vi /boot/grub/menu.lst

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.18-92.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet selinux=0

initrd /initrd-2.6.18-92.el5.img

# 如果要启动 SELinux ,则不可以出现 selinux=0 的字样在 kernel 后面!

【问题】通过上面的学习我们知道,如果将启动着的SELinux改为禁用,需要重启电脑,我们不想重启电脑又不想开启SELinux该怎么办呢?

【答案】将强制模式改为宽松模!

# setenforce

选项与参数:

0 :转成 permissive 宽容模式;

1 :转成 Enforcing 强制模式

范例一:将 SELinux 在 Enforcing 与 permissive 之间切换与查看

# setenforce 0

# getenforce

Permissive

# setenforce 1

# getenforce

Enforcing

6,查看已启动程序的type设定

# ps aux -Z

LABEL USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

system_u:system_r:init_t root 1 0.0 0.4 2060 520 ? Ss May07 0:02 init

system_u:system_r:kernel_t root 11 0.0 0.0 0 0 ? S< May07 0:00

system_u:system_r:auditd_t root 4022 0.0 0.4 12128 560 ? S<sl May07 0:01 auditd

system_u:system_r:auditd_t root 4024 0.0 0.4 13072 628 ? S<sl May07 0:00 /sbin/a

system_u:system_r:restorecond_t root 4040 0.0 4.4 10284 5556 ? Ss May07 0:00 /usr/sb

说明:其实这些东西我们都不用管,都是SELinux内置的。只要学会在强制和宽松模式间转换就行了!

版权说明:
本网站凡注明“公众IT 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
您可以扫描右侧微信二维码联系我们。
网站首页 关于我们 联系我们 合作联系 会员说明 新闻投稿 隐私协议 网站地图