如何在没有 sudo 的情况下将 nginx 日志共享给另一个用户?

Ale*_*Kim 12 linux ubuntu nginx logging

我的服务器上有 2 个用户。一个 sudo 访问另一个没有。我如何授予访问 nginx 日志的权限

/var/log/nginx/error.log
Run Code Online (Sandbox Code Playgroud)

给其他用户sudo未经许可使用cat /var/log/nginx/error.log?我可以创建类似符号链接的东西来登录他的 /home/username 目录吗?

所以我的问题是 - 没有sudo权限的用户如何检查 nginx 日志?

dro*_*kie 16

例如,像这样:

chmod 755 /var/log/nginx && chmod 644 /var/log/nginx/*.log && chmod 644 /var/log/nginx/*.gz

这样任何人都可以 cwd 并读取 /var/log/nginx 目录的内容并读取 *.log 文件。

您还应该检查日志轮换配置,以便不会再次更改权限。对于 Nginx 的最后几个版本,直到并包括 1.6.2,该文件在轮换日志时/etc/logrotate.d/nginx使用该行create 0640 www-data adm设置权限。这应该更改为类似create 0644 www-data adm. 需要注意的是,该方案允许服务器上的所有用户读取所有 Nginx 日志。

更新: logrotate 配置也应该更新以包含su www-data adm允许 logadm 实用程序工作而不会抱怨不正确的目录权限。

  • `/etc/logrotate.d/nginx` 中的默认 Nginx 配置是 `create 0640 www-data adm`。那是在 1.6.2 中,但我认为这条线在很长一段时间内没有改变。 (3认同)