web-dev-qa-db-ja.com

Apacheは他のユーザーの読み取り許可をログに記録します

システムを管理する開発者が何人かいるので、ルートアクセスなしで/ var/log/httpdのログファイルを簡単に読み取れるようにしてください。 「他の」ユーザーに読み取り権限を設定しましたが、ログファイルでテールを実行すると、権限が拒否されました。

[root@ourserver httpd]# chmod -R go+r /var/log/httpd
[root@ourserver httpd]# ls -la
drwxr--r--  13 root root 4096 Oct 25 03:31 .
drwxr-xr-x.  6 root root 4096 Oct 20 03:24 ..
drwxr-xr-x   2 root root 4096 Oct 20 03:24 oursite.com
drwxr-xr-x   2 root root 4096 Oct 20 03:24 oursite2.com
-rw-r--r--   1 root root    0 May  7 03:46 access_log
-rw-r--r--   1 root root 3446 Oct 24 22:05 error_log

[me@ourserver ~]$ tail -f /var/log/httpd/oursite.com/error.log
tail: cannot open `/var/log/httpd/oursite/error.log' for reading: Permission denied

多分私は許可がどのように機能するかについて何かが足りないのですが、それについて簡単な答えを見つけることができません。

23
user2344668

ディレクトリ(/ var/log/httpdなど)を通過するには、読み取りと実行の両方の権限が必要です。したがって、「r」をディレクトリに追加すると、世界中にコンテンツの表示のみが許可され、その中に入って他のディレクトリに進むことはできなくなります。

chmod -R go+rX /var/log/httpdをお試しください

26
Joshua Miller