通过 NFS 更改 SELinux 文件上下文

通过 NFS 更改 SELinux 文件上下文

我想要更改 NFS 安装的共享目录上的 SELinux 标签。

这是我的设置(使用虚拟机):

我有两台运行 CentOS 7 的机器。其中一台(服务器)使用以下exports文件通过 NFS 导出目录树:

/top/fs/fs  *(rw,sync,no_root_squash)

我使用以下命令(以 root 身份)将此目录挂载到客户端上:

mount <server-ip>:/top/fs/fs /mnt/fs

到目前为止一切运行良好:我在客户端拥有读写权限。

现在 SELinux 标签的问题在于:

在服务器上,我可以file1在 NFS 共享内创建一个文件,它具有以下标签:

# touch file1
# ls -lZ file1
-rw-r--r--. root root system_u:object_r:unlabeled_t:s0 file1

在客户端上,它只显示一个“?”:

# ls -lZ file1
-rw-r--r-- root root ?                                file1

当我尝试更改客户端上 NFS 共享内的文件的 SELinux 上下文时,我收到以下信息:

# chcon -t admin_home_t file1
chcon: failed to get security context of ‘file1’: Operation not supported

更改客户端上的 SELinux 标签外部但是,NFS 共享工作正常。

如何设置 NFS 和 SELinux 以便我可以在客户端上更改 SELinux 标签?

谢谢!

答案1

你不能。这不是 NFS 在 CentOS 7 上支持的功能。你只能将 SELinux 上下文设置为挂载选项,该选项将应用于客户端的每个文件访问。这些都不会对服务器上可能存在的任何 SELinux 上下文产生任何影响,事实上,可能根本没有。

相关内容