SELinux 文件标签工具对比:setfiles vs restorecon vs fixfiles
概述 SELinux 提供了三个用于设置和恢复文件安全上下文(context)的工具。虽然它们功能相似,但使用场景和底层实现有所不同。 工具 类型 主要用途 setfiles 底层 C 程序 直接根据 spec 文件设置文件标签 restorecon setfiles 的封装 恢复文件到默认安全上下文 fixfiles Shell 脚本 系统级别的批量修复工具 详细对比 setfiles 位置: /sbin/setfiles 特点: 底层工具,直接操作文件上下文 需要显式指定 file_contexts 配置文件 功能最原始,性能最高 输出详细,适合调试 常用选项: setfiles [-F] [-R] [-v] [-n] [-e DIR] spec_file pathname... 选项 说明 -F 强制恢复,不检查文件类型是否匹配 -R 递归处理目录 -v 显示详细信息 -n 干跑模式,不实际修改 -e DIR 排除目录 使用场景: # 容器内给另一个根文件系统打标签(你的使用场景) setfiles -R -v /etc/selinux/targeted/contexts/files/file_contexts /mnt/rootfs # 检查但不实际修改 setfiles -n -v file_contexts /path/to/check # 排除某些目录 setfiles -R -e /proc -e /sys file_contexts / restorecon 位置: /sbin/restorecon ...