假设我在一台 Linux 机器上有一个 UID 为 500 的用户,用于管理目的。这台机器是其他 *nix 机器的备份存储库。
我需要用户 500 来访问备份中的文件,但这些文件归本地机器上不存在的其他 UID 所有(例如 UID 1000)。
有没有办法允许 UID 为 500 的用户访问 UID 为 1000 的文件?我搜索了是否有办法让一个用户拥有多个 UID,但我发现的都是相反的(多个用户拥有相同的 UID)。
我也查看了组权限,但是备份中文件的 GID 已经存在于本地机器上,我不知道将用户 500 添加到随机组是否明智。
你对此有什么想法吗?
答案1
同意 Warner 的观点。如果有必要保留文件的原始 UID/GID,那么你必须在备份服务器上以 root 身份运行。(你可以保留chmod 777
文件,但我真的不建议这样做,即使您从不允许任何其他人访问该服务器。)
另一种选择是在备份文件时忽略 UID,这样它们就都归服务器上的备份用户所有,然后安排文件,以便在需要恢复这些文件时可以轻松查看谁拥有什么;尽管这对您来说可能不可行。这取决于您的设置。
答案2
如果您不想更改文件的所有权,大多数选项都会涉及 root 权限。这些选项包括将脚本放入 sudo、利用 SUID 位,或者直接以 root 身份执行操作。