目前,当我做历史时,我得到:
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给另一个用户,每个用户运行几个命令。我需要的是跟踪哪个用户运行了哪个命令。
答案 0 :(得分:3)
历史记录仅报告当前登录用户执行的命令。
您可以使用su -c history username
检查系统中其他用户的历史记录。
答案 1 :(得分:2)
您可以滥用HISTTIMEFORMAT
变量来完成此操作。将以下内容添加到您的.bashrc
:
HISTTIMEFORMAT="$USER %m/%d/%Y %H:%M "
答案 2 :(得分:0)
你可以跑:
history | sed "s/ / $UID /"
如果你想为此发出命令:
alias histuid='history | sed "s/ / $UID /"'
虽然我不确定你为什么要这样的东西,因为历史命令是一个内置的shell,它只能为当前shell的用户返回当前shell会话的历史记录
答案 3 :(得分:0)
我找到了一个对我有用的简单解决方案。在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命令脚本中的单引号中。