允许组中的用户访问其他用户的共享文件夹

允许组中的用户访问其他用户的共享文件夹

有两个帐户user1user2。我希望共享并授予 rwx 对我的user1/home/user1/Documents/ 文件夹的访问权限user2。为此,我创建了一个名为 的新组sharedDocs。这些是我按顺序执行的命令:

 groupadd sharedDocs
 usermod -aG share user1
 usermod -aG share user2
 chgrp -R sharedDocs /home/user1/Documents
sudo chmod -R g+rwX /home/user1/Documents

从这里,我切换到 user2 来访问文档。su重新加载。

su user2
user2: touch 1.txt

su如果我之前位于该/home/user1/Documents文件夹中,则此命令有效。但是,以下命令不起作用,并且一旦离开目录就无法返回到该目录。

user2: touch /home/user1/Documents/1.txt
touch: cannot touch '/home/user1/Documents/1.txt': Permission denied
user2: cd /home/user1/Documents/
bash: cd: /home/user1/Documents: Permission denied

我遵循了这两个指南:

Linux 中如何授予其他用户文件夹权限?

允许的组无法访问文件夹

答案1

您需要具有执行权限才能进入该/home/user1/文件夹及其中的任何子文件夹,或访问其中的任何文件。

默认情况下,linux 将用户主文件夹设置为750、 或rwxr-x---,这意味着不是该文件夹所有者或属于该文件夹所属组的用户不允许进入该文件夹。

拥有对 user1 主目录中的子文件夹或文件的权限是不够的,您还需要拥有进入/通过该目录以获取其中对象的权限。

文件的执行权限授予您运行该文件的权限(如果它是脚本或应用程序),目录的执行权限授予您进入该目录或通过该目录访问其中的文件和文件夹的权限。

您可以将user2其所有者放入一个组中/home/user1,也可以使用setfacl命令设置附加权限,赋予刚刚的执行权限,user2以便/home/user1他可以进入该文件夹访问/home/user1/Documents

像这样的东西会给 user2 在 /home/user1 上执行权限

setfacl -m user2:x /home/user1/

然后您可以使用getfacl命令查看文件夹上的 acl 规则

getfacl /home/user1

对于目录来说,读权限意味着用户可以看到目录的内容。写权限意味着用户可以在目录中创建文件或文件夹。执行权限是指用户可以进入该目录。

相关内容