更新 NFS 权限

更新 NFS 权限

我有两台服务器,s1(debian stretch)和s2(openSUSE Leap 15.1)。

s1 有一个本地目录,其中包含许多子目录,每个子目录都需要特定的组成员身份才能访问。现在应该可以在 s2 上使用这些子目录,我正在尝试使用 来实现这一点nfs。两台机器都使用 pam-ldap(指向同一个 LDAP 服务器)进行所有用户/组管理,通常运行良好。

对于 s1,我添加到/etc/exports

<path_to_dir>  <local_ip_of_s2>(rw,sync,no_subtree_check)

然后执行

exportfs -ra
systemctl restart nfs-kernel-server
systemctl restart portmap

在 s2 上

mount -t nfs <local_ip_of_s1>:<path_on_s1> <path_on_s2>

看起来效果很好。

但是,如果我更新组成员身份,这些在 s2 上不起作用。例如:

  • 我有一个属于组ABCD和权限的目录drwxrws--x
  • 本地用户不属于该组,无法访问两台机器上任何一台的目录
  • 我将此用户添加到组
  • 在 s1 上,我看到该用户现在是该组的一部分,他们可以访问该目录
  • 在 s2 上,我看到该用户现在是该组的一部分,但他们无法访问该目录:ls: cannot open directory 'ABCD': Permission denied

到目前为止,我发现的唯一更新此类更改的方法是

  • 卸载 s2 上的共享
  • systemctl restart nfs-kernel-server在 s1 上执行
  • 在 s2 上重新挂载

...这实际上不可行,因为如果其他人当前正在任何目录中处理 s2,这是不可能的。

我可以在一台或两台机器上做些什么来更新它而不需要重新安装?

相关内容