如何使两台服务器上的用户和组 ID 相同?

如何使两台服务器上的用户和组 ID 相同?

我有两台服务器,其中一台服务器挂载了另一台服务器上的卷作为 NFS 设备。挂载器上有一个应用程序,它创建的文件必须由挂载器上的应用程序进行操作。

我遇到了各种权限问题。两台服务器上的用户和组都相同,但 ID 不匹配。

当挂载器上的应用程序在 NFS 设备上创建文件时,该文件似乎由被挂载器上的一长串数字所拥有。

我无法从安装器运行 chown 命令,因为该应用程序不以 root 身份运行。

谁能帮我?

答案1

您需要一些方法来同步系统之间的用户帐户/ ID。

可以通过(小心地)创建帐户然后同步密码数据库(例如 Linux 上的 /etc/passwd)手动实现,但更常见的是通过使用目录服务(例如 NIS 或 LDAP)来实现。然后,所有需要共享身份​​验证信息的系统都会引用该目录,这使得它比在每个系统上创建帐户更具可扩展性。

根据你需要维护的用户数量,前一种方法或其衍生方法可能比设置目录的工作量要少。我见过少数情况(我自己也在一些小型部署中这样做过),其中配置管理系统(如木偶或者厨师) 用于使每个系统上的本地密码数据库保持同步 - 这样做的好处是可以保持权威的凭证来源,但避免了维护目录服务的开销。

答案2

创建帐户时在第二个系统上指定 UID/GID。(或集中身份验证。)

man useradd

-u, --uid UID 用户 ID 的数值。除非使用 -o 选项,否则此值必须是唯一的。该值必须是非负数。默认使用大于 999 且大于其他所有用户的最小 ID 值。0 到 999 之间的值通常为系统帐户保留。

useradd 手册页

man groupadd

-g, --gid GID 组 ID 的数值。除非使用 -o 选项,否则此值必须是唯一的。该值必须是非负数。默认使用大于 999 且大于其他所有组的最小 ID 值。0 到 999 之间的值通常为系统帐户保留。

groupadd 手册页

相关内容