在我的场景中,我需要“/var/log/”中的“httpd”目录可供“devs”组中的用户读取(Amazon Linux 2)有人可以指导我如何实现这一点吗?
我们有几个开发人员负责维护系统,我希望他们能够轻松读取 /var/log/httpd 中的日志文件,而无需 root 访问权限。
[root@ip-10-0-10-165 httpd]# getfacl /var/log/httpd
getfacl: Removing leading '/' from absolute path names
# file: var/log/httpd
# owner: root
# group: devs
user::rwx
group::---
other::---
这有帮助吗?
chmod -R go+r /var/log/httpd
`chmod -R go+rX /var/log/httpd`
或者
[root@ip-10-0-10-165 httpd]# ls -la
total 48
drwx------ 19 root devs 4096 Apr 3 03:42 .
drwxr-xr-x 11 root devs 4096 Apr 8 07:45 ..
-rw-r--r-- 1 root root 0 Feb 15 14:55 access_log
drwxr-xr-x 2 root devs 41 Mar 1 20:44 u1-dev.qwerty.com
-rw-r--r-- 1 root root 1648 Apr 3 03:42 error_log
-rw-r--r-- 1 root root 883 Mar 13 03:41 error_log-20220313
drwxr-xr-x 2 root devs 41 Mar 1 20:44 u4-dev.qwerty.com
drwxr-xr-x 2 root root 41 Mar 1 20:44 langs.qwerty.com
drwxr-xr-x 2 root devs 41 Mar 1 20:44 u8-dev3.qwerty.com
-rw-r--r-- 1 root root 0 Feb 15 14:55 ssl_access_log
-rw-r--r-- 1 root root 314 Apr 3 03:42 ssl_error_log
-rw-r--r-- 1 root root 157 Mar 6 03:50 ssl_error_log-20220313
-rw-r--r-- 1 root root 0 Feb 15 14:55 ssl_request_log
drwxr-xr-x 2 apache apache 253 Apr 3 03:42 www.qwerty.com
drwxr-xr-x 2 root devs 41 Mar 1 20:44 u13-dev.qwerty.com
[root@ip-10-0-20-173 httpd]#
或者这将有效
setfacl -m g:devs:rx httpd/
如何修改这些权限集?
答案1
您可以尝试编辑sudo
配置,以允许开发组中的每个人都访问特定文件,如下所示:
%devs ALL = (root:root) NOPASSWD: /var/log/httpd
编辑:另一个更简单、更安全的选择是使用 为文件提供 644 权限chmod 644 /var/log/httpd
,但这意味着所有人有权访问服务器的人都可以读取该文件。
答案2
也许最好的方法是
chgrp -R apache /var/log/httpd
chmod 02750 /var/log/httpd
chmod 0640 /var/log/httpd/*
将组中的所有用户添加dev
到 apache 组。修改/etc/logrotate.d/httpd
以便在正确的组中创建新的日志文件,例如,
create 0640 root apache