删除所有用户的BASH历史记录

时间:2013-10-08 19:41:12

标签: bash rhel

使用Red Hat Enterprise Linux是否可以设置一个全局选项,即每当用户退出SSH连接时,该用户的BASH历史记录都会被清除?

5 个答案:

答案 0 :(得分:1)

/etc/bash.bash_logout脚本中,您可以输入:

unset HISTFILE

HISTFILE的默认值为~/.bash_history。用户可以将其设置为他们想要的任何内容。如果未设置,则注销过程不会将RAM中的历史信息写入历史文件。

答案 1 :(得分:0)

我知道你可以手动运行

history -c

我认为你可以将它放入~/.bash_logout

答案 2 :(得分:0)

用户可以随时将他们的历史记录保存到非标准文件中并在下次登录时重新加载,因此从全球角度来看,他们所做的并不多,无法停止。

例如,Bob可能会在他的~/.bash_login中添加以下内容:

HISTFILE=~/my_secret_history_file

答案 3 :(得分:0)

将以下内容放入~/.bash_logout

echo > $HISTFILE

这会在用户注销时清除保存的历史记录,但会在用户登录时保留有用的运行历史记录。

答案 4 :(得分:0)

当需要让历史为空时 - 我使用符号链接它们到 /dev/null...

lrwxrwxrwx  1 root root    9 Dez 16 19:10 .ash_history -> /dev/null
lrwxrwxrwx  1 root root    9 Dez 16 19:10 .bash_history -> /dev/null

...然后键入命令的历史记录仅适用于当前会话。
启动一个新的 shell,启动一个新的空临时历史记录。
为普通用户将它们符号链接到 /dev/null 必须通过以下方式完成:root