从另一个用户访问文件夹

从另一个用户访问文件夹

我正在使用 PHP,并尝试访问另一个用户的文件夹,但总是收到错误“权限被拒绝”。

我创建了一个组,添加了用户并授予访问权限。但这没有帮助,以下是我所做的(从 root 访问权限):

sudo usermod -a -G mygroup tools
sudo usermod -a -G mygroup user2

sudo chgrp -R mygroup /home/tools/domains/domain.tools.com/public_html/storage/users

sudo chmod -R 2775 /home/tools/domains/domain.tools.com/public_html/storage/users

chmod ug+rwx -R /home/tools/domains/domain.tools.com/public_html/storage/users

现在,当我尝试从用户“工具”(该文件夹所在的位置)访问该文件夹时,我可以轻松完成此操作而不会出现任何问题:

[tools@server ~]$ ls -l /home/tools/domains/domain.tools.com/public_html/storage/users
total 4
drwxrwsr-x 7 root mygroup 4096 Dec 18 17:36 id

但是,如果我尝试从其他用户(在同一组中)访问该文件夹,我会收到此错误:

[user2@server ~]$ ls -l /home/tools/domains/domain.tools.com/public_html/storage/users
ls: cannot access /home/tools/domains/domain.tools.com/public_html/storage/users: Permission denied

我该如何解决这个问题?

答案1

您授予了user2特定子文件夹的访问权限:/home/tools/domains/domain.tools.com/public_html/storage/users

我认为您无法访问该文件夹的原因user2user2无法访问文件夹层次结构上层的某些文件夹。

解决该问题的一种可能方法是x向所有用户添加该文件夹上方所有目录的(更改目录)权限。

作为用户tools(或root通过使用sudo),您可以授予x所有目录的权限(例如):

chmod +x /home/tools
chmod +x /home/tools/domains
chmod +x /home/tools/domains/domain.tools.com
chmod +x /home/tools/domains/domain.tools.com/public_html
chmod +x /home/tools/domains/domain.tools.com/public_html/storage
chmod +x /home/tools/domains/domain.tools.com/public_html/storage/users

相关内容