用户权限

用户权限

在 Ubuntu 上,我希望用户 1 能够读取/写入/执行/删除用户 2 的所有文件/文件夹

我已将它们放在同一组,但似乎不起作用,

解决这个问题的正确方法是什么?

谢谢,

答案1

您需要将他们所在的组分配给用户 2 的所有文件。

 chgrp usergroup somefile

然后您需要具有 rwx 的组权限,因此:

chmod g+rwx somefile

其中somefile是user2的文件

答案2

将两个用户放在同一个组中是不够的:默认情况下,除非明确指定(使用chmod g+w),否则文件不是组可写的。要更改大多数新创建文件的默认权限,请将行添加umask 002~user1/.profile。此外,许多程序会限制通常应保密的文件(密码文件、邮箱等)仅供用户读取;umask 对此没有影响。

大多数情况下,一种可行的方法是使用访问控制列表。首先,确保包含 user2 主目录的文件系统已使用该acl选项挂载(在 Ubuntu 10.04 上,该选项默认为关闭)。安装该acl软件包。然后运行以下命令(警告,直接输入到浏览器中),授予 user1 对 user2 主目录中文件的所有访问权限,并默认授予新创建文件的访问权限:

setfacl -m user:user1:rwx -R ~user2
setfacl -d -m user:user1:rwx -R ~user2

如果用户 2 在其主目录之外保存文件,则也将此命令应用于其他目录。

最后,授予 user1 这种直接访问权限可能不是解决潜在问题的最佳方法。更合理的做法可能是只授予 user2 对实际需要共享的文件的访问权限(使用公共组或使用 ACL)。还可以考虑通过 sudo 授予 user2 以 user1 身份运行程序的权限(运行visudo并添加行user1 ALL = (user2) ALL)。

答案3

User1 必须是被分配到具有 rwx 权限的组的组成员 (7,就像用户和其他权限中的 whatever 一样,但组权限中列出了 7)。

这有帮助吗?

相关内容