用于准确命令历史的命令/脚本?

时间:2009-11-13 15:19:09

标签: unix shell scripting

是否有一些命令/脚本要知道“EACH& amp;每个“在solaris机器上执行的命令(如果可能的话,带有时间戳),当多个用户使用”SAME USERID& PASSWORD”?

历史命令不准确。它只显示该用户执行的命令的历史记录,有时甚至更少,但是当多个用户访问系统时,它不准确。

此致 AKS

3 个答案:

答案 0 :(得分:1)

这是因为每次键入命令时都会更新.history文件。在.history文件更新之前,不同的shell会话将不会看到最新的命令。

您可以通过运行以下命令在每个命令后强制执行更新:

PROMPT_COMMAND='history -a'

如果您希望每次登录时都将其添加到.bashrc中。

有关“历史”功能的更多提示,请访问: http://dancingpenguinsoflight.com/2008/11/bash-history-tips-and-tricks/

答案 1 :(得分:1)

如果您想记录更多信息,例如时间/日期和终端/ IP,请参阅我的答案here了解脚本和想法。您可以加入 Isc的建议。

但是,我想重申 Jonathan Leffler 每个用户应该(必须)拥有自己的登录 甚至< / em>当没有涉及root / sudo时。)

答案 2 :(得分:0)

你不应该让很多人都使用相同的用户ID和密码 - 将root分发给所有人并且杂乱是危险的,这同样适用于任何较小的应用程序特定的“超级用户”。

如果人们必须使用这些权限,他们应该自己登录并使用“sudo”转换到特权用户状态。这样做的一个主要优点是他们使用自己的密码而不是特权密码来进行更改。

另一个优点是您可以配置跟踪用户活动的内容。有一个程序'sudosh'(sudo shell)记录所有活动,可用于查看人们做了什么。还有其他同等的工具。