从 Solaris 服务器挂载的文件的 SELinux 上下文

从 Solaris 服务器挂载的文件的 SELinux 上下文

RHEL 6由于 SELinux,我尝试运行的某些东西失败了。问题暂时用 轻松解决setenforce 0。然而,对于我来说,完全关闭 SELinux 并不是一个选择。

问题是这些文件是从旧的 Solaris 机器上安装的,并且加载的所有内容的上下文都是系统_u:对象_r:nfs_t:s0。我只需要修改从该机器安装的少数文件即可httpd_sys_content_t。

然而,任何这样做的尝试都会导致“不支持操作“。我尝试使用的命令是:

chcon -R -h -t httpd_sys_content_t /path/to/my/stuff

据我所知,这是因为该服务器的所有内容都安装为系统_u:对象_r:nfs_t:s0。作为 Solaris,我无法进入机器本身并使用 chcon,因为 SELinux 和 chcon 不存在。

我能想到的可行的解决方案是在这台机器上安装相同的软件,即RHEL 6,将 Solaris 全部删除。我想知道这是否是我唯一的选择。

答案1

存在两个选项(在 SELinux 内):

1) 所有其他失败都audit2allow可以将任何 SELinux 拒绝转换为允许的操作。

2) 我的建议是:启用 SELinux 布尔值以允许httpd_t访问nfs_t对象:

[root@ditirlns02 ~]# getsebool httpd_use_nfs
httpd_use_nfs --> off
[root@ditirlns02 ~]# setsebool -P httpd_use_nfs=1
[root@ditirlns02 ~]# getsebool httpd_use_nfs
httpd_use_nfs --> on
[root@ditirlns02 ~]# 

安全上下文是由安装远程文件系统的机器设置的,因此 Solaris 基本上是不相关的。即使导出来自 RHEL,NFS 导出仍然会存在nfs_t,对此您无能为力

相关内容