日志sudoer和电子邮件报告

我有一个用户需要使用sudo访问我的Ubuntu系统,但是我并不尽可能地相信他。 有没有办法logging他所有的sudo活动,并在一天结束时通过电子邮件发送给我?

这不是一个好主意。 这个计划有几个弱点。

  1. 如果你不信任他,不要给他访问权限。 如果他在晚上已经做了电子邮件,那么在他的恶作剧结束的时候将无济于事。 如果他真的想妥协这个系统,他肯定会find一种方法来操纵那些讨厌的电子邮件。 这是一个相当简单的计算,如果你不信任的用户拥有系统的pipe理权限,那么你就不能相信系统观察。

  2. 如果他真的需要访问,我们可以解决超级用户的权限吗? 如果他真的需要sudo的话,它可以只限于一些命令。

简单的方法是在你的机器上设置logwatch 。 默认情况下,logwatch每晚都会生成一封电子邮件,其中包含各种系统详细信息和重要日志消息 默认情况下,它也包括所有logging的sudo命令。

然后,只需将/etc/logwatch.conf的日志邮件地址设置为您的地址,您将每晚收到这些邮件。

我强烈build议你与有问题的用户交谈,并诚实地与他分享你的疑虑。 对他来说,知道他可以问你是否对任何东西感到困惑,而不是在日志中发现错误。 信任但要validation。

这是“最低特权原则”这一概念的典型例子。 也就是说,用户应该具有执行其工作职能所需的最less访问权限。 真正解决您的问题的方法是实施一个标准的操作程序,将服务器的完全pipe理权限限制在实际pipe理服务器的人员身上。 虽然这很容易build议,但您需要做相当多的工作来实现,并且通常需要对DBA,应用程序pipe理员等业务stream程进行更改。

你需要做的就是和用户坐下来,准确地确定用户使用这个系统的内容,并确定需要哪些访问权限。 这里非常棘手的事情是确定他们需要做什么,而不是如何做。 你应该开始的一些types的问题是他们需要编辑系统文件,重新启动服务,查看日志文件等。

一旦你有了这些信息编目,你可以开始找出是否有什么你应该做的。 例如,如果需要更改/ etc / sysconfig中的文件,用户是否应该准备更改,然后将其提供给系统pipe理员进行部署? 或者,如果他们需要能够pipe理服务,那么实际上需要执行哪些命令,是否必须以root或作为服务帐户来完成?

在练习结束时,您应该有一个他们需要执行的命令列表(以及作为谁),他们需要访问的文件以及您和用户可以进行exception更改的过程。