在 CentOS 中,**“context”**通常指的是 SELinux 安全上下文(Security Context),比如文件、目录、进程的 SELinux label(如 system_u:object_r:httpd_sys_content_t:s0)。
如果你问的是如何备份 CentOS 上的 SELinux context(安全上下文),常见做法如下:
semanage + restorecon 思路(推荐)SELinux 上下文通常由策略规则 + 自定义规则决定,最佳备份方式是备份自定义策略。
semanage fcontext -l -C > selinux_fcontext_backup.txt
恢复时:
# 逐行执行或写脚本恢复
semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?"
restorecon -Rv /web
getfattr -R -m security.selinux -d / > selinux_xattr_backup.txt
或只列出:
ls -ZR / > selinux_ls_backup.txt
⚠️ 这种方式不适合直接“恢复”,主要用于对比和审计。
semodule -l > selinux_modules.txt
导出自定义模块(如有):
semodule -E custom_module
/etc/selinux/
/etc/selinux/config
示例:
tar czf selinux-config-backup.tar.gz /etc/selinux
如果你用 tar 备份文件,必须保留 SELinux 上下文:
tar czf backup.tar.gz --selinux -C / path
恢复时:
tar xzf backup.tar.gz --selinux -C /
⚠️ rsync 也要加参数:
rsync -aX /src/ /dst/
❌ 只备份文件 ≠ 备份 context
❌ cp 默认不保留 SELinux label
✅ 用 tar --selinux / rsync -X
# 1. 自定义上下文
semanage fcontext -l -C > selinux_fcontext.txt
# 2. 配置文件
tar czf selinux-config.tar.gz /etc/selinux
# 3. 文件备份带 context
tar czf data.tar.gz --selinux /data
如果你说的 “CentOS context” 是指:
可以告诉我具体场景,我可以给你更精确的备份方法。