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/configbash
# 临时切换到Permissive模式
setenforce 0
# 永久配置
sed -i 's/SELINUX=.*/SELINUX=permissive/' /etc/selinux/configDisabled切换回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模式,并通过日志分析调整策略。