私はLinuxディレクトリで権限がどのように機能するのかの基本的な側面を理解していないと思います。
ローカルのApacheサーバーからこのフォルダにアクセスしようとしています。
sudo chmod 777 /home/ut/programmes/Programmation/p5-linux/
sudo -u www-data ls /home/ut/programmes/Programmation/p5-linux/
ls: cannot read directory '/home/ut/programmes/Programmation/p5-linux/': Permission denied
なぜ動作しないのですか?権限は777ですが?
さらにこれを行うと:
sudo chown ut:www-data /home/ut
sudo chmod 710 /home/ut
/home/ut/programmes/Programmation/p5-linux/の権限を変更せずに、次のような結果が得られます。
sudo -u www-data ls /home/ut/programmes/Programmation/p5-linux/
icudtl.dat libffmpegsumo.so locales nw.pak p5 p5.png Projets
私がした唯一のことは、親辞書のグループを変更することだけでした。 今はなぜ動作しますか?
答え1
最初の試みでは、最後のディレクトリに対するすべての権限のみがあります。
/home/ut/programmes/Programmation/p5-linux/
ただし、すべての親ディレクトリに対する「実行」権限が必要です。追加した内容によると、/home/utで実行されていないことが確認されます。親ディレクトリに対する読み取り権限は必要ありません。
2番目の試みでは、実行権限(読み取り権限ではない)だけが必要であることがわかりました。