私はPHPを使用していますが、別のユーザーのフォルダーにアクセスしようとしていますが、常に「Permission denied」というエラーが表示されます。
グループを作成し、ユーザーを追加してアクセスを許可しました。それは助けにはならず、ここに私がやったことがあります(ルートアクセスから):
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
この問題を修正するにはどうすればよいですか?
user2
へのアクセスを特定のサブフォルダーに与えました:/home/tools/domains/domain.tools.com/public_html/storage/users
user2
でそのフォルダーにアクセスできなかった理由は、user2
がフォルダー階層の上位レベルにある一部のフォルダーにアクセスできないからだと思います。
これを解決する1つの方法として、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