如何读取数千名用户的.sh_history?

如何读取数千名用户的.sh_history?

该逻辑适用于许多其他目标。如何从 /home/ 文件系统读取每个用户的 .sh_history?如果有数千个怎么办?

答案1

这很难。您必须解释每个用户的~/.bashrc以及每个 shell 的所有“启动文件”,才能知道“历史文件”到底是什么。

比如我的,将我的历史文件设置为~/.history/history.$$,目前我有1372个.history文件。

我的~/.bashrc片段:

[[ -d ~/.history ]] || mkdir --mode=0700 ~/.history
[[ -d ~/.history ]] && chmod 0700 ~/.history
HISTFILE=~/.history/history.$$
# close any old history file by zeroing HISTFILESIZE  
HISTFILESIZE=0  
# then set HISTFILESIZE to a large value
HISTFILESIZE=4096  
HISTSIZE=4096 

其他用户可能会做其他事情,可能会将他们的.history文件命名为其他名称,使用其他 shell,...

相关内容