在Ubuntu上,我希望user1能够读/写/执行/删除user2的所有文件/文件夹
我已经把他们放在同一个小组下,但似乎没有这样做,
接近这个的正确方法是什么?
谢谢,
您需要将它们所在的组分配给用户2的所有文件。
chgrp usergroup somefile
那么你需要组权限才能拥有rwx:
chmod g+rwx somefile
其中somefile是user2的文件
将两个用户放在同一个组中是不够的:缺省情况下,除非明确指出,否则文件不能写入组(除了chmod g+w )。 要更改大多数新创build文件的默认权限,请将umask 002行添加到~user1/.profile 。 此外,许多程序还会限制通常应保持私密的文件(密码文件,邮箱等)只能由用户读取; umask对此没有影响。
大部分时间工作的方式是使用访问控制列表。 首先,确保包含user2的主目录的文件系统使用acl选项(在Ubuntu 10.04上默认closures)。 安装acl软件包。 然后运行以下命令(警告,直接在浏览器中input)给user1所有访问user2的主目录中的文件,并默认将这个访问权限赋予新创build的文件:
setfacl -m user:user1:rwx -R ~user2 setfacl -d -m user:user1:rwx -R ~user2
如果user2将文件保存在其主目录之外,则也可以将此命令应用于其他目录。
最后,给user1这个直接访问可能不是解决底层问题的最好方法。 给user2只访问实际需要共享的文件(使用公共组或使用ACL)可能更合理。 考虑还给予user2权限运行程序作为user1通过sudo(运行visudo并添加行user1 ALL = (user2) ALL )。
User1必须是分配给具有rwx( 7 ,无论是否为用户和其他权限,但为组权限列出的组)的组的成员。
这有帮助吗?