我们有一个 NFS 服务器为许多帐户提供主目录,该目录由 NIS 服务器提供。
我有帐户 A 和 B。在 /home/A 中,我尝试复制“cp -a /home/B/somedir ~/”。然后我发现在 /home/A/somedir 中,所有文件都归用户 A 所有。
然后,如果我执行“chown -RB:B somedir”,我会收到“操作不允许”错误。
我是用户 A,“cp -a”没有保留原始用户(B)。那么我就无法更改我自己的文件。
有什么建议吗?
我通过“chmod 777 /home/A”、“su - B”和“cp -a somedir /home/A/”以及“su - A”,然后“chmod 755 /home/A”修复了自己的问题。但这不是一个好的解决方案。
答案1
您所描述的是常规 UNIX 系统的正常行为。
普通用户不能也不应该将文件所有权转让给其他用户。只有 root 可以这样做。
这Open Group 的文档维基百科声称有些实现允许普通用户“放弃”所有权,但他们没有说明具体是哪些系统。我可以说,对于 Linux 和 Solaris,普通用户的 chown 不起作用。