samba共享nfs挂载文件夹和SELINUX

samba共享nfs挂载文件夹和SELINUX
  • 在 RHEL 7.9、samba-4.10.16-19、nfs-utils-1.3.0、
  • 服务器 A 和服务器 B 都有 SELINUX 作为强制执行
  • 从服务器 A,该文件夹/data是 NFS 导出的。
  • 在服务器 B 上,mount A:/data /data成功安装为 NFS v4.1。
  • 在服务器B上,如果我samba共享出/data挂载的nfs,则无法访问它直到我setenforce 0在服务器 B 上执行此操作
  • 在服务器 A 上,/data具有samba_share_t标签并将 samba 从服务器 A 共享出去。
  • /data安装了 nfs 的服务器 B 上,它有nfs_t标签,但我无法samba_share_t使用semanage fcontext -a -t samba_share_t "/data(/.*)?"

正如我所描述的,关于 samba 共享文件夹、NFS 和 SELINUX,该做什么和不该做什么?我真的希望能够通过 samba 共享服务器 B 上的 nfs 安装文件夹,因为这是所有用户帐户和权限信息所在的位置,每个人在服务器 B 上都有一个用户帐户,可以在其下创建数据,/data但他们在服务器上没有帐户A/data物理驻留位置,我不想在服务器 A 上创建用户帐户。

答案1

关于 samba 无法使用 NFS 安装的文件夹...

getsebool -a | grep samba

默认情况下 samba_share_nfs已关闭。

做一个setsebool -P samba_share_nfs on

解决这个问题。这-P是为了持久化,否则重启后又会消失。

答案2

使用 Samba 共享 NFS 挂载并不是一个好主意,因此我不建议您这样做。 NFS 使用 nfsv4 acl,而 Samba 不使用。

相关内容