我们有几位开发人员负责维护系统,我希望他们能够轻松读取 /var/log/httpd 中的日志文件,而无需 root 访问权限。我为“其他”用户设置了读取权限,但当我在日志文件上运行 tail 时,我被拒绝权限:
[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
我可能错过了一些关于权限如何运作的知识,但我没有找到任何简单的答案。
答案1
目录(如 /var/log/httpd)需要读取和执行权限才能被遍历。因此,当您在目录中添加“r”时,它只允许其他人查看内容,但不允许进入该目录并继续访问其他目录。
尝试chmod -R go+rX /var/log/httpd