如何在Linux上保护.bash_history文件

时间:2015-10-13 09:32:19

标签: linux macos bash unix linux-kernel

出于安全考虑,我想在Linux上保护我的历史文件(。bash_history)。如您所知,历史文件保留最后500个命令行。 我想,除了添加最后一行之外,没有人可以更改此文件。换句话说,命令应仅添加而只添加最新行

2 个答案:

答案 0 :(得分:2)

仅限附加.bash_history文件

$ sudo chattr +a /home/user/.bash_history

  

a - 仅附加:写入文件只允许文件   以附加模式开放写作。那就是你无法重定向输出   覆盖文件,只附加到它。最正常的文件编辑   操作,如用文本编辑器打开文件,很可能   失败,因为程序将尝试用。覆盖文件   将显示更改和“权限被拒绝”。这个属性可以   只能由具有超级用户权限的帐户设置。

chattr的手册页是here。检查其他属性,希望这有助于某种方式

答案 1 :(得分:1)

要避免bash删除旧的历史记录条目,您可以在.bashrc文件中进行设置:

HISTSIZE=-1
HISTFILESIZE=-1

HISTSIZE告诉bash要保留的最大历史记录条目数。

HISTFILESIZE告诉bash HISTFILE(通常为.bash_history)应具有的最大条目数。

将它们设置为-1告诉bash不要使用限制。