在 Debian 系统里,“context” 可能有几种不同含义,下面分常见情况说明如何备份。你可以对照自己的场景。
备份文件的安全上下文:
# 备份整个系统的 SELinux context
getfattr -R -m security.selinux / > selinux_context.backup
恢复:
setfattr --restore=selinux_context.backup
或者只备份策略相关:
semanage export > semanage.backup
semanage import -f semanage.backup
AppArmor 本身不是“context”,但配置就是“策略上下文”:
# 备份 AppArmor 配置
tar czf apparmor-backup.tar.gz /etc/apparmor.d
查看当前加载状态:
aa-status
Debian 上常用:
# 备份 ACL
getfacl -R /path > acl.backup
# 恢复 ACL
setfacl --restore=acl.backup
扩展属性(含 context):
getfattr -R -d /path > xattr.backup
setfattr --restore=xattr.backup
env > env.backup
bash -lc 'declare -p' > bash_context.backup
systemctl show <service> > service.context.backup
docker context ls
docker context inspect > docker-context.json
kubectl config view --raw > kubeconfig.backup
| 场景 | 备份命令 |
|---|---|
| SELinux | getfattr -R -m security.selinux / |
| AppArmor | /etc/apparmor.d |
| 文件 ACL | getfacl -R |
| 环境变量 | env |
| Docker | docker context inspect |
| K8s | kubectl config view |
如果你能具体说一下:
我可以给你更精确的备份方案。