繁体   English   中英

循环填充.bash_history

[英]Loop to fill up .bash_history

一个人如何编写循环以达到bash中$ HISTFILESIZE的限制?

这样的东西实际上可以打印命令吗?

for i in $(seq 1 $HISTFILESIZE); do echo test-$i;done

目的是查看是否可以通过一个简单的循环来覆盖日志,恶意用户可以使用该循环来隐藏其外壳历史记录。 我只有.bash_history附加:chattr + a我知道依靠.bash_history可能不是跟踪的最佳方法,这更多是“我很好奇”的问题。

谢谢乔恩

您不需要seq ,Bash有两种方式提供数字以使用for循环进行迭代。

for i in {1..100}

不会将变量作为参数(除非您使用eval )。

for ((i = 1; i <= $HISTFILESIZE; i++))

显然可以使用变量。

你可以做:

for ((i = 1; i <= $HISTFILESIZE; i++))
do
    history -s "anything you want"
done

使用此技术,用户可以清除当前会话的内存历史记录列表。 当用户退出时,该列表将被写入历史文件。

您可以截断历史记录文件:

>~/.bash_history

假设它不是仅追加。

好吧,用户可以一直运行

for i in $(seq 1 $HISTFILESIZE); do echo test-$i;done

就像您说的那样,然后将输出粘贴到终端中。 但是.bash_history位于用户的主目录中,因此他可以chmod +w然后将其shred一样容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM