SELinux在Ubuntu中如何备份
导读:Ubuntu 中 SELinux 的备份与恢复 一 前置说明 Ubuntu 默认不启用 SELinux,常见做法是使用 AppArmor。如你的系统已手动启用或安装了 SELinux,备份的重点是策略与配置的可恢复性。 快速检查与临时切换...
Ubuntu 中 SELinux 的备份与恢复
一 前置说明
- Ubuntu 默认不启用 SELinux,常见做法是使用 AppArmor。如你的系统已手动启用或安装了 SELinux,备份的重点是策略与配置的可恢复性。
- 快速检查与临时切换状态(备份前后都建议记录):
- 查看模式:
getenforce(返回 Enforcing/Permissive/Disabled) - 临时切换:
sudo setenforce 0(Permissive,重启失效)或sudo setenforce 1(Enforcing) - 永久策略在重启后生效,相关配置位于 /etc/selinux/config(如
SELINUX=enforcing|permissive|disabled)。
- 查看模式:
二 备份策略与范围
- 配置文件:备份 /etc/selinux/ 目录(包含策略与系统配置)。
- 当前状态:记录 getenforce 的输出,便于恢复时核对。
- 策略与模块(如已安装并启用 SELinux 策略工具):
- 策略包与自定义模块:使用
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.txt
- 3)(可选)导出已安装模块清单
semodule -l | sort > ~/selinux-backup/installed-modules.txt
- 4)(可选)导出布尔值与关键上下文
getsebool -a > ~/selinux-backup/booleans.txt- 对关键目录导出上下文:
ls -Z /etc /var/www /home > ~/selinux-backup/context-etc-varwww-home.txt
-
- 校验与异地保存
ls -lh ~/selinux-backup/- 将备份拷贝到外部介质或远程存储:
rsync -a ~/selinux-backup/ /path/to/external/selinux-backup/
- 说明:使用 rsync -a 可保留权限、属主与时间戳,便于一致恢复。
四 恢复步骤
-
- 将备份拷回系统
sudo rsync -a /path/to/backup/selinux-backup/ /etc/selinux/
-
- 核对并恢复运行模式
- 查看记录:
cat ~/selinux-backup/selinux-mode.txt - 如需调整:
sudo setenforce 0|1(临时),或在 /etc/selinux/config 中设置SELINUX=,随后重启生效。
- 3)(可选)恢复策略模块
- 参考
installed-modules.txt逐一sudo semodule -i module.pp恢复;如模块已存在可先semodule -r 模块名再安装。
- 参考
- 4)(可选)核对布尔值与上下文
- 用
getsebool -a对比booleans.txt,不一致时按记录调整。 - 如目录上下文异常,使用
restorecon -R -v /path或按备份的semanage fcontext清单恢复。
- 用
-
- 验证
getenforce、sestatus、ausearch -m avc -ts recent检查是否有拒绝日志,确认策略生效与业务正常。
五 注意事项
- 修改或恢复 SELinux 配置可能导致进程被拒绝访问,操作前建议在维护窗口进行,并准备回滚方案(如快照/备份)。
- 若系统并未启用 SELinux,备份与恢复 /etc/selinux/ 通常没有实际效果;此时更应关注是否启用了 AppArmor 及其配置与日志。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: SELinux在Ubuntu中如何备份
本文地址: https://pptw.com/jishu/766536.html
