简而言之:如果我更改我的 UID,我会遇到哪些麻烦?
在上下文中:我正在尝试使用 NFS 在两台 Ubuntu 计算机之间共享文件。目前,每台计算机都有自己的用户名,但 UID 相同。为了便于讨论,计算机 1 有一个用户 mac1,UID 为 1000,计算机 2 有一个用户 mac2,UID 为 1000。有人建议我,为了锁定文件共享的权限,最好在两台计算机上创建相同的用户帐户以及相同的 UID。所以我在想,在计算机 1 上,我需要保留用户 mac1,UID 为 1000,但创建用户 mac2,UID 为 1001。然后在计算机 2 上,我需要创建用户 mac1,UID 为 1000,并将用户 mac2 更改为 UID 1001。但是,就目前情况而言,用户 mac1(在计算机 1 上)和 mac2(在计算机 2 上)都使用 UID 1000。所以我需要将计算机 2 上 mac2 的 UID 更改为 1001。我从未更改过 UID,因此我担心其他东西可能会停止工作。有人能看出我这样做会遇到哪些明显的陷阱吗?
答案1
不要更改这些主机上的用户 ID!这是一个脆弱的操作,需要各种维护,并会引入许多微妙的问题。
让托管导出的 NFS 服务器为您执行 UID 映射。
例如:https://serverfault.com/questions/520276/nfs-user-mapping
棘手的部分是使用哪个版本的 nfsd,以及具体实现。我会从 Ubuntu nfsd 的手册页开始,看看它是否谈到它,或者它是否需要运行另一个映射 ID 的守护进程。
看起来最好的参考资料在这里:https://help.ubuntu.com/community/SettingUpNFSHowTo
但是,要点是您应该让守护进程为您处理这个问题,而不是尝试在所有主机上维护相同的 UID,这很困难并且容易出错(并且实际上可能无法按您需要的方式工作。)