记录重新启动服务的用户详细信息

记录重新启动服务的用户详细信息

这与我前段时间提出的一个问题有关。

我想记录有关谁在 Linux 上重新启动了某个特定服务的详细信息。

例如:

如果用户 X 重新启动 apache,那么它将记录用户名、时间、服务(即 apache)和状态(成功/失败)。

我可以编写一个小脚本并将其手动添加到服务启动脚本中。

但这是不可能的,因为我有数千台服务器和数十个服务。

有没有其他方法可以做到这一点而无需操作服务启动脚本?

答案1

我建议锁定系统。要求用户使用sudo,仅允许使用 执行特定命令,并通过禁止和sudo等来禁止运行任意命令。sudo susudo bash

sudo将记录通过它执行的所有命令,当然包括服务重启。在我的计算机上,它会记录到/var/log/secure,只有 才能读取root

但是,这不会给你带来你最不想要的结果 - 成功或失败。但是你可以使用包装器脚本轻松实现额外的日志记录,你可以要求用户使用该脚本而不是直接启动服务 - 只需小心确保包装器脚本的安全!

因此用户会输入:

sudo wrapper_script start service

或类似的东西。

请注意 sudo 日志两个都原始用户和他们以 sudo 方式执行操作的用户(默认情况下为 root)。

相关内容