在 Debian 系统中,你提到的 “context 内容” 通常可能有以下几种含义,我分别说明如何备份:
Debian 默认不启用 SELinux,但如果你用了:
备份文件安全上下文:
getfattr -R -m security.selinux /path > selinux_context.bak
恢复:
setfattr --restore=selinux_context.bak
或者统一备份整个系统的 context:
restorecon -Rv / > /dev/null 2>&1
semanage fcontext -l > fcontext.list
AppArmor 不是“context”概念,但和权限相关:
备份 AppArmor 配置:
sudo cp -r /etc/apparmor.d /backup/apparmor.d.bak
例如 [Service] 段中的 Environment=、WorkingDirectory= 等:
备份所有 service 文件:
sudo cp -r /etc/systemd/system /backup/systemd.system.bak
sudo cp -r /lib/systemd/system /backup/systemd.lib.bak
只导出环境变量 context:
systemctl show <service名> | grep -i environment
包括 SELinux、ACL、capabilities:
备份:
sudo getfattr -R -d -m - /path > xattr.bak
恢复:
sudo setfattr --restore=xattr.bak
备份当前环境:
env > env.bak
备份用户 profile:
cp ~/.bashrc ~/.profile /backup/
docker inspect <container> > container_context.json
lxc config show <container> > lxc_context.bak
| 类型 | 备份方式 |
|---|---|
| SELinux context | getfattr |
| systemd context | 备份 .service 文件 |
| xattr | getfattr -R |
| 容器 context | inspect / config show |
如果你能具体说明是 哪种 context(SELinux?systemd?容器?还是别的东西),我可以给你更精确的命令。