![通过 NFS 更改 SELinux 文件上下文](https://linux22.com/image/758880/%E9%80%9A%E8%BF%87%20NFS%20%E6%9B%B4%E6%94%B9%20SELinux%20%E6%96%87%E4%BB%B6%E4%B8%8A%E4%B8%8B%E6%96%87.png)
我想要更改 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 上下文产生任何影响,事实上,可能根本没有。