是否完全可以完全隐藏shell的历史记录或阻止其记录?
我试图找到谁重命名目录以及何时。问题是我的dba重命名了目录,并没有记下目录的时间和日期。它可以帮助很多。
答案 0 :(得分:1)
bash
将命令条目存储在HISTFILE
中(默认情况下为 ~/.bash_history
),并且已修复大小为 - HISTFILESIZE
(默认 500
)。如果一种类型的命令超过该数量,那么这些命令的历史就会丢失。
也可以忽略命令,请参阅HISTIGNORE
,以及以前导空格开头的命令 - 请参阅HISTCONTROL=ignorespace
。这些不会存储在HISTFILE
中。
如果您使用某些日志记录机制,那么避免记录命令或阻止日志条目将取决于该特定软件。
答案 1 :(得分:1)
这不依赖于Solaris,而是依赖于所使用的shell。
一些shell(如旧版Bourne shell(Solaris 10及更早版本上的/ bin / sh))根本不会记录所有命令历史记录,因此在这种情况下您运气不佳。
其他shell可能会在磁盘上记录一定数量的命令,具体取决于用户配置(使用csh保存,使用ksh和bash保存HISTFILE / HISTSIZE)。 ksh实时记录历史记录,而bash将其记录在shell出口上,这样如果shell突然死亡,你可能会丢失历史记录。 Bash还有一些设置可以阻止某些命令不出现在历史记录中(HISTCONTROL,HISTIGNORE,HISTFILESIZE)。如果运行多个交互式shell,如果未使用bash设置histappend shell选项,则命令将丢失。