我正在建立一个CentOS 7服务器,其中/ home目录必须位于另一个分区上,然后使用bind-mount挂载.所以:/ data / homes应该绑定到/ home.
问题是确保正确应用SELinux上下文.实际上,以下命令会产生相互矛盾的结果:
# Applies the rules for /home to all the files restorecon -R -v /home # Applies the generic rules (standard files) to all the files restorecon -R -v /data/homes
为了解决这个问题,我通过复制/ data / homes的所有规则修改了策略文件/etc/selinux/targeted/contexts/files/file_contexts.homedirs:
$sed -n '/^\/home/p' /etc/selinux/targeted/contexts/files/file_contexts.homedirs \ | sed 's/^\/home/\/data\/homes/' \ >> /etc/selinux/targeted/contexts/files/file_contexts.homedirs
但是,当使用semodule -B重新构建策略时,我的更改将丢失.
我知道修改这些文件的推荐方法是使用semanage fcontext,但总共需要添加近200条规则,并且每个规则都不能运行semanage.
如何手动更改/ etc / selinux / targeted / contexts / files / file_contexts中的文件并确保保留更改?