是否可以与另一个非 root 用户共享一个目录,但只能与这个用户共享,并且没有 root 权限?
系统是Ubuntu,内核是4.4.0。
我没有root权限。
该系统拥有大量用户;管理员不太可能同意为我单独创建一个新组。
系统不允许我使用
setfacl
(可能是没有安装 acl 包)
方法 1:使用每个用户组(不起作用)
如果我有 root 权限,我可以将其他用户添加到我的用户组并授予该组对该目录的权限(假设用户是user_a
(我)和user_b
(其他人)并且目录是~/shared_directory
):
sudo usermod -a -G user_a user_b
(这将添加user_b
到组user_a
,user_a
的用户组)
chgrp user_a ~/shared_directory
(这会将 的所有者组设置~/shared_directory
为user_a
;在几乎所有情况下,这应该已经是所有者组,并且该命令不是必需的)
chmod g=rwx ~/shared_directory
(这赋予该组读取、写入和执行(访问)目录的所有权限)。
但是,我没有 root 权限,不允许执行 usermod 或写入相关文件/etc/group
(这很糟糕!)。
方法 2:使用文件访问控制列表 (ACL)(不起作用)
此外,我既无法执行setfacl
也无法找到此可执行文件;可能是因为未安装 acl 包。因此,我无法尝试使用建议的方法在这个答案中:
setfacl -m u:user_b:rwx ~/shared_directory
user_b
(只要文件系统和内核支持 ACL,这将允许访问目录。)
我的感觉仍然是方法 1(用户组和权限)应该是解决这个问题的关键
难道我不能控制谁是我的用户组的成员吗?还是我误解了用户同名用户组的目的?
对此的一些回答Unix&Linux 中的问题讨论了每个用户组的角色、权利和目的。
或者是否有其他不需要 root 权限的方法来实现这一点?