出于安全考虑,我想在Linux上保护我的历史文件(。bash_history)。如您所知,历史文件保留最后500个命令行。 我想,除了添加最后一行之外,没有人可以更改此文件。换句话说,命令应仅添加而只添加最新行。
答案 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
不要使用限制。