多个用户访问目录

多个用户访问目录

我正在运行 Arch Linux。

我的网站的文件位于 /home/user/www/ 目录中。其他用户也将其网站的文件放在 /home/foo/www/ 目录中。

现在,如果我想更改他们网站上的某些内容,我必须具有 sudo 访问权限。

我想在没有 sudo 的情况下访问他们的目录。

如何将目录设置为用户和我,并为其他人(apache)将其 chown 为 755?

答案1

您可以使用访问控制列表(ACL)为此,向特定用户授予特定文件或目录的附加权限。

首先,确保相关文件系统启用了该选项:通常默认情况下会启用该选项,但您可以将其添加到(和/或重新安装)acl中的选项中。fstab

启用 ACL 后,您可以使用以下命令控制特定文件或目录的 ACL命令setfacl:

setfacl -m "user:vonflynee:rwx" /home/foo/www

除了文件所有者已经拥有的权限之外,这还为该特定目录vonflynee的用户rwx(格式为)设置了每用户权限。chmod您可以为需要处理的不同用户和组的特定文件设置多个 ACL 规范,并且它们可以具有不同权限的任意组合。

与其他权限一样,您需要能够遍历整个树直到您想要访问的文件,因此您可能需要在树上进一步设置其他权限,并且您还需要访问这些文件。setfacl支持--recursive对整棵树设置权限的模式。

Arch wiki 有一篇关于该主题的相当全面的文章,其中突出显示了该过程的特定于 Arch 的部分


另一种选择,也是更传统的选择,就是简单地创建一个新组“ vonflyneeandfoo”,将两个用户添加到其中,将chown -R目录添加到该组,chmod g+s该目录以便新文件继承其组,然后chmod -R g+rX dir授予文件组写入权限。

如果只有这种情况,您需要处理这可能是更简单的选择。即使是这样,如果您有许多本地用户并且您已经依赖apache成为组成员,那么读取权限的工作就会更加困难,而 ACL 对您来说会更方便。

相关内容