【问题标题】:Add user id to bash history将用户 ID 添加到 bash 历史记录
【发布时间】:2014-07-01 12:50:09
【问题描述】:

目前,当我做历史时,我得到:

  996  05/13/14 10:37 ls-l
  997  05/13/14 10:37 ls -l
  998  05/13/14 10:37 chmod 700 hosts.txt
  999  05/13/14 10:37 tail -5 .bash_history
 1000  05/13/14 10:37 tail -10 .bash_history
 1001  05/13/14 10:38 hisotry

是否可以将机制更改为:

  996  username1 05/13/14 10:37 ls-l
  997  username1 05/13/14 10:37 ls -l
  998  username2 05/13/14 10:37 chmod 700 hosts.txt
  999  username3 05/13/14 10:37 tail -5 .bash_history
 1000  username1 05/13/14 10:37 tail -10 .bash_history
 1001  username4 05/13/14 10:38 hisotry

我尝试编辑PROMPT_COMMAND,但无法获得我想要的结果。

我正在处理的场景是几个用户 sudo 到另一个用户,每个用户运行几个命令。我需要的是跟踪哪个用户运行了哪个命令。

【问题讨论】:

    标签: linux bash history redhat


    【解决方案1】:

    历史记录仅报告当前登录用户执行的命令。 您可以使用su -c history username 来检查您系统上其他用户的历史记录。

    【讨论】:

    • sudo -u username history 可能比su 更好
    • 在某些 linux 发行版中,默认情况下不安装/配置 sudo。
    • 我在检查共享帐户的历史记录时尝试使用它。用户 sudo 进入此帐户以执行命令。我正在尝试查看哪个用户执行了哪些命令
    【解决方案2】:

    您可以滥用HISTTIMEFORMAT 变量来完成此操作。将以下内容添加到您的.bashrc

    HISTTIMEFORMAT="$USER %m/%d/%Y %H:%M "
    

    【讨论】:

    • 我厌倦了这个,但这似乎并没有为历史上的所有命令添加一个用户 ID。如果用户 sudo 到另一个 id 并运行命令,我需要什么。历史记录中应该有 sudo 的用户。
    • shell 不知道其他用户是否使用sudo 启动它;它只能记录运行shell的用户名。
    • who am i 让我看到用户是 sudo 进入用户。但它会将该用户添加到历史记录中的所有命令中,而不仅仅是用户执行的命令。
    【解决方案3】:

    你可以运行:

    history | sed "s/  / $UID /"
    

    如果你想为此发出命令:

    alias histuid='history | sed "s/  / $UID /"'
    

    虽然我不确定你为什么想要这样的东西,因为 history 命令是一个 shell 内置命令,它只能为当前 shell 的用户返回当前 shell 会话的历史记录。

    【讨论】:

      【解决方案4】:

      我找到了一个对我有用的更简单的解决方案。在 Ubuntu 18.04 上的 /etc/bash.bashrc 中,将以下内容添加到末尾或修改(如果存在)。

      [解决方案]

      export HISTTIMEFORMAT="`whoami` %m/%d/%Y %H:%M "
      

      [结果]

      1987  {omitted} 07/13/2018 - 20:10:56 history | tail -19
      

      注意之前的条目将被更新。 {omitted} 显示用户名。 whoami 用在 bash 命令脚本中的单引号中。

      【讨论】:

        猜你喜欢
        • 2017-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-17
        • 1970-01-01
        相关资源
        最近更新 更多