SELinux:手动更改/ etc / selinux / targeted / contexts / files /中的文件

前端之家收集整理的这篇文章主要介绍了SELinux:手动更改/ etc / selinux / targeted / contexts / files /中的文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在建立一个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中的文件并确保保留更改?

解决方法

semanage fcontext -a -t <file_context> "<path>/<file>(/.*)?"
restorecon -R <path>/<file>

将允许您递归和永久地将上下文添加到许多文件.我不确定你是否尝试过这个.您能否提供一些您尝试设置的规则示例以及哪些文件,以便我们可以看到哪些内容可以满足您的需求?

猜你在找的Linux相关文章