SELinux(Security-Enhanced Linux)是Linux系统的强制访问控制(MAC)安全模块,它通过定义安全策略来限制进程和用户的权限。以下是SELinux的三种主要工作模式及其特点和管理方法:
/var/log/audit/audit.log
)。bash
# 查看当前模式
getenforce
# 临时切换到Enforcing模式
setenforce 1
# 永久配置(需重启)
sed -i 's/SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config
bash
# 临时切换到Permissive模式
setenforce 0
# 永久配置
sed -i 's/SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
Disabled
切换回Enforcing/Permissive
需要重启系统并可能触发文件系统重新标记(restorecon
)。bash
# 永久禁用(需重启)
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
模式切换:
Enforcing
↔ Permissive
可直接通过setenforce
切换,无需重启。Disabled
)必须修改配置文件并重启。策略管理:
semodule
管理策略模块。audit2allow
将审计日志转换为自定义策略。文件标签:
restorecon
修复:
bash
restorecon -Rv /path/to/file_or_dir
状态检查:
sestatus # 查看详细状态(模式、策略版本等)
服务因SELinux失败:
Permissive
模式测试是否与SELinux相关。/var/log/audit/audit.log
或journalctl
)。sealert
工具分析错误(需安装setroubleshoot
)。恢复默认标签:
touch /.autorelabel && reboot
通过合理配置SELinux模式,可以在安全性和灵活性之间取得平衡。生产环境建议保持Enforcing
模式,并通过日志分析调整策略。