Ubuntu 中 SELinux 的备份与恢复
一 前置说明
getenforce(返回 Enforcing/Permissive/Disabled)sudo setenforce 0(Permissive,重启失效)或 sudo setenforce 1(Enforcing)SELINUX=enforcing|permissive|disabled)。二 备份策略与范围
semodule -l 列出已安装模块,必要时用 semodule -i/-r 管理;备份对应的 .pp(策略模块)与自定义策略源文件。getsebool -a 导出当前布尔开关状态,便于比对与恢复。semanage fcontext -l 的输出或关键目录的 ls -Z 清单),用于恢复时核对与修正。三 备份步骤
mkdir -p ~/selinux-backupsudo rsync -a /etc/selinux/ ~/selinux-backup/getenforce > ~/selinux-backup/selinux-mode.txtdate > ~/selinux-backup/backup-timestamp.txtsemodule -l | sort > ~/selinux-backup/installed-modules.txtgetsebool -a > ~/selinux-backup/booleans.txtls -Z /etc /var/www /home > ~/selinux-backup/context-etc-varwww-home.txtls -lh ~/selinux-backup/rsync -a ~/selinux-backup/ /path/to/external/selinux-backup/四 恢复步骤
sudo rsync -a /path/to/backup/selinux-backup/ /etc/selinux/cat ~/selinux-backup/selinux-mode.txtsudo setenforce 0|1(临时),或在 /etc/selinux/config 中设置 SELINUX=,随后重启生效。installed-modules.txt 逐一 sudo semodule -i module.pp 恢复;如模块已存在可先 semodule -r 模块名 再安装。getsebool -a 对比 booleans.txt,不一致时按记录调整。restorecon -R -v /path 或按备份的 semanage fcontext 清单恢复。getenforce、sestatus、ausearch -m avc -ts recent 检查是否有拒绝日志,确认策略生效与业务正常。五 注意事项