非 root/sudo 用户访问日志

非 root/sudo 用户访问日志

我应该选择什么来允许员工访问服务器上的日志。例如,如果我有用户 webmaster 应该有权访问/var/log/{mysql,nginx, etc...},我该怎么做?也许添加组log-access并将日志的所有者更改为该组?或者这不是一个好方法?

Ubuntu 是我使用的主流操作系统(很少使用 CentOS)。

答案1

这个问题涉及的范围相当大,尤其是那个模棱两可的“ETC'。我能做的是帮助您将其分解成几个部分,以便您能够更好地管理问题。您需要首先明确定义他们需要访问哪些日志,然后逐一解决。

每个日志文件,您需要考虑一些事情;

  • 如果日志轮换由服务或守护程序处理,您需要想出一种方法来通过服务的配置设置日志文件所需的权限。您可以使用类似umask在初始化脚本中,设置组ID日志目录上的位(如果它是 /var/log 的子目录)等等。

  • 如果日志轮换由日志旋转cron 作业,有一种方法'创造' 您可以用来设置新日志文件的所有者、组和模式。

  • 我能想到的最后一个选项是,如果服务使用 syslog 功能,则可能需要在其中设置权限。(例如,rsyslogd。)

最终,您可能会使用上述所有方法的组合。使用组是正确的。所有者可能仍是 root 或进程所有者(无论谁在写入文件)。所有者将保留读取、写入权限,而组将保留只读权限。

为了获得更具体的答案,您的问题可能需要更具体。首先让我们知道您运行的操作系统和版本。

答案2

我建议不要提供对机器和文件的访问权限,而是提供对服务,例如 Logstash 或 Splunk。这比授予系统权限要好得多,并且可以让您从工具本身中充分利用大量实用功能。

相关内容