一、前置检查:确认SELinux状态
在开启SELinux前,需先确认其当前状态。常用命令如下:
sestatus:显示SELinux的详细状态(包括SELinux status是否启用、当前模式等),是最全面的检查方式;getenforce:快速查看当前SELinux的执行模式(返回Enforcing表示已开启并强制执行,Permissive表示开启但不强制执行,Disabled表示关闭)。sestatus输出SELinux status: disabled,则需进行开启操作;若已为Enforcing或Permissive,则无需重复开启。二、永久开启SELinux:修改配置文件
SELinux的永久状态由配置文件/etc/selinux/config控制,需通过文本编辑器(如vi、nano)修改该文件:
sudo vi /etc/selinux/config
SELINUX=行(通常位于文件中部),将其值从disabled或permissive修改为enforcing(强制模式,推荐用于生产环境,严格遵循安全策略):SELINUX=enforcing
vi编辑器中按Esc键,输入:wq回车)。SELINUX=行,需手动添加上述内容。三、处理文件系统标签(仅首次开启需执行)
若SELinux之前处于disabled状态,系统文件未打标签,需创建自动标签文件以恢复默认标签:
sudo touch /.autorelabel
该文件会在系统重启时触发restorecon命令,自动为文件系统添加正确的SELinux标签(如user_home_t、bin_t等),确保系统正常运行。
四、重启系统使更改生效
修改配置文件后,必须重启系统才能加载新的SELinux策略:
sudo reboot
五、验证SELinux是否开启成功
系统重启后,再次运行以下命令确认状态:
sestatus
若输出中SELinux status: enabled且Current mode: enforcing,则表示SELinux已成功开启并强制执行策略。
六、临时开启SELinux(可选)
若需临时开启SELinux(重启后失效),可使用以下命令:
sudo setenforce 1
若需临时关闭(切换至Permissive模式,仅记录违规不阻止),可运行:
sudo setenforce 0
注意:临时操作不影响配置文件的永久设置,重启后会恢复原状态。
注意事项:
permissive(记录违规但不阻止)排查问题,再逐步调整策略;enforcing模式,以最大化系统安全性;policycoreutils),需先通过包管理器安装(如CentOS使用yum install policycoreutils selinux-policy-targeted)。