我感觉问这个问题有点愚蠢,因为我觉得这是一个非常基本的问题,但无论如何我还没有找到解决方案:
我有一台 Linux 数据服务器和几台工作站,它们使用 NFS 在该数据服务器上挂载文件夹。系统设置方式是用户在服务器和工作站上都具有相同的 uid。没有集中式用户管理,但帐户是相应计算机上的本地帐户。
现在,我想通过创建特定用途的组并将相应的用户添加到服务器上的这些组中来控制数据服务器上的文件访问。但是,在工作站上安装目录时,我面临的问题是这些组仅存在于服务器上,而工作站似乎不知道特定用户是否是服务器上某个组的成员。我想避免在每个工作站上创建所有组,而只在服务器上管理它们。这可能吗?
提前感谢任何回复!
答案1
当您考虑本地帐户时,我假设您正在使用基于 AUTH_SYS 的 rpc 身份验证。这意味着客户端会随每个请求发送 uid 和 gid。换句话说,nfa 服务器仅使用客户端提供的组成员身份信息。
有两种方法(我知道)可以解决这个问题:
复杂的
使用 RPCSEC_GSS - Kerberos 访问并将服务器端的用户主体映射到所需的 uid 和 gids 或查询 LDAP 服务器。
简单的
配置服务器(rpc.mountd)以启动--manage-gids
选项,该选项将告诉服务器忽略客户端提供的 gid 并根据 uid 在本地查询。