任何方式来自动运行所有命令之前运行sudo(以及…阅读)

作为我们的“serveruser”操作时,我总是喜欢使用sudo命令,这样我的所有操作都会logging在sudo日志中,之后我可以对其进行反向工程。 然而,我不想每次都inputsudo -u serveruser,而不想创build一个别名。 有没有一个程序或什么东西,我可以执行一个shell,使我运行的每个命令实际上是sudo -u serveruser的前缀,而不是所以感觉就像我是用户本人。

如果是这样,我可以为所有pipe理员设置,他们甚至不会真正注意到一个区别,我们得到历史logging免费与sudo日志logging。

编辑:我在找什么是这些东西

  1. 非常简单的设置(我们的sudo已经安装,除了这个sudoshell,这将是很好的)
  2. logging时间戳
  3. logging用户执行命令(即可能是我,在这种情况下是院长)
  4. 将执行该命令的用户logging为(例如,在这种情况下是serveruser)
  5. logging实际的命令

sudo做2-5开箱即用,但我正在努力找出用户的第一名,因为我们(这个团队的人)不想一直inputsudo :(。

编辑:也许有一种方法来吸引在标准input和stdout在bash写脚本,所以可以调用sudoshell -u用户名和任何命令我input标准input除了“退出”,然后用sudo -u用户名运行。 有没有办法让这样的脚本,而不是我们所有的pipe理员可以运行? 然后当有人运行sudo su – 我可以login消息运行该shell,而不是如下….这将工作得很好。 任何想法如何做到这一点?

谢谢,Dean

你正在寻找的是审计线索 。 Sudo会提供它(有限制),但还有其他方法可以实现。

如果您只需要logginginput到shell中的内容,而不想安装其他软件包, 则可以configurationbash 4以便通过sysloglogging历史logging 。

您也可以从可用的许多审计软件包中进行select。 一个简单的解决scheme可能是史努比logging器 。

作为我们的“serveruser”操作时,我总是喜欢使用sudo命令,这样我的所有操作都会logging在sudo日志中,之后我可以对其进行反向工程。

这听起来像你想要logging所有的sudo命令,以便以后可以审计。

你应该看看sudosh2 。 这里是描述:

sudosh是一个审计shellfilter,可以用作loginshell。 Sudoshlogging所有击键和输出,并且可以像录像机一样回放会话。

例如:用户joelogin到系统,并键入sudo sudosh并被授予超级用户权限。 在这之后,所有的input和输出都被logging下来。 日志转到一个文件,或通过系统日志发送到您的中央系统日志服务器(在这里他们不能被删除)。 您可以重播日志,确切地查看人们input的内容(甚至可以看到错别字,退格等)和输出。

它可能不适合您的所有要求,但听起来像你是相似的select。

有关更多详细信息,请参阅我的其他答案以logging从根执行的每个命令 。