【问题标题】:Command/Script for Accurate command HISTORY?用于准确命令历史的命令/脚本?
【发布时间】:2009-11-13 15:19:09
【问题描述】:

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

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

问候, AKS

【问题讨论】:

  • 不要重新标记belong-on-*,因为问题原封不动地转移,这就是Vote-to-Close的用途。

标签: unix shell scripting


【解决方案1】:

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

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

PROMPT_COMMAND='history -a'

如果您希望每次登录时都完成,请将其添加到您的 .bashrc。

有关“历史”功能的更多提示可在此处找到: http://dancingpenguinsoflight.com/2008/11/bash-history-tips-and-tricks/

【讨论】:

    【解决方案2】:

    如果您想记录更多信息,例如时间/日期和终端/IP,请参阅我的回答 here 以获取脚本和想法。您可以采纳 Isc 的 建议。

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

    【讨论】:

      【解决方案3】:

      您不应该让很多人都使用相同的用户 ID 和密码 - 将 root 分发给所有人以及各种情况都是危险的,这同样适用于任何较小的特定于应用程序的“超级用户”。

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

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

      【讨论】:

        猜你喜欢
        • 2016-05-08
        • 1970-01-01
        • 1970-01-01
        • 2011-08-09
        • 2014-02-26
        • 2013-05-12
        • 1970-01-01
        • 1970-01-01
        • 2018-07-29
        相关资源
        最近更新 更多