温馨提示×

CentOS Context 如何备份

小樊
44
2026-08-04 07:46:49
栏目: 智能运维

CentOS 上,“Context” 通常指 SELinux 上下文(Security Context)。下面按常见场景说明如何备份与恢复。


一、备份 SELinux 上下文(最常用)

1️⃣ 备份文件/目录的 SELinux Context

使用 semanagerestorecon 的组合方式最稳妥。

方法一:导出当前文件上下文规则(推荐)

semanage fcontext -l > selinux_fcontext_backup.txt

恢复时(手动对照)或用于迁移参考。


2️⃣ 备份某个目录的 SELinux Context(实际标签)

ls -Z /path/to/dir > selinux_context_backup.txt

或递归:

ls -lZR /path/to/dir > selinux_context_backup.txt

3️⃣ 使用 restorecon 原理备份(策略级)

SELinux 上下文通常由 策略 + 规则 决定,而不是单个文件。

查看当前自定义规则:

semanage fcontext -l -C

备份自定义规则:

semanage fcontext -l -C > selinux_custom_context.txt

二、恢复 SELinux Context

1️⃣ 从策略恢复(最常用)

restorecon -Rv /path/to/dir

2️⃣ 恢复默认系统上下文

restorecon -Rv /

(⚠️ 谨慎操作,可能影响运行中的服务)


三、备份 SELinux 整体状态(含策略)

1️⃣ 备份 SELinux 配置文件

cp -a /etc/selinux /etc/selinux.backup

2️⃣ 查看当前模式

getenforce
sestatus

四、如果是指「系统上下文 / 环境上下文」

1️⃣ 环境变量上下文

env > env_backup.txt

2️⃣ 用户上下文(登录环境)

cp ~/.bashrc ~/.bash_profile /backup/

五、常见误区

❌ 直接复制 SELinux context 文件 ≠ 可用
✅ SELinux context 必须结合策略恢复


六、总结(推荐做法)

目的 建议方式
备份 SELinux 规则 semanage fcontext -l -C
恢复文件 Context restorecon -Rv
迁移系统 备份 /etc/selinux
查看当前 Context ls -Z

如果你指的是 Docker / Podman / systemd / 某个具体服务(如 Nginx、Kubernetes) 的 Context,可以告诉我,我可以给你更精确的备份方案

0