如何让bash写两个bash历史文件而不改变bash源代码?


1

我想将bash_history内容复制到另一个文件中。为什么?因为恶意用户可以编辑自己的bash_history文件。我知道那不是什么bash_history。那么,bash有没有办法写两个bash_history文件?一个是正​​常的,另一个是可配置目录中的副本?

编辑

有没有人编辑过bash源代码的bashhistory.c文件,给我一些指示,指出需要对这个文件进行哪些更改才能获得另一个文件写入历史记录?


编程问题是偏离主题的。
DavidPostill

1
恶意用户是什么意思?如果他有一个普通的用户帐户,他就不应该受到伤害,除非他有sudo权利(或更糟糕的是,root访问权限),而不应该是记录sudo su禁用。审计并不意味着作为您的想法/提案实施。
Zina

@Zina bash_history的模式是可由用户读取和写入的,因为bash本身不是setUId到root(当然),因此用户可以更改其历史用法。怎么可能得到真正的bash_history是问题。一种方法是只需要编写另一个需要更改代码的历史文件。
Sunny

@Sam - 是的,我知道你在说什么,我只是评论说这不是办法。要破坏某些东西,他必须拥有sudo权利或知道root密码(不好的做法就是放弃这个)。所以,如果你禁用 sudo su 他只能用它来摧毁它 sudo <any destroy command> 可以设置为记录,你现在将sudo-ed并做到了。即使你想做双bash_history,也就是这样 sudo zsh (sh,csh,tcsh,..)哪些不保存历史记录到bash_history?
Zina

Answers:


0

使用硬链接在其他区域建立副本。

cd
ln .bash_history /path/to/copy/writeable/by/user/too

但它仍然是副本,因此您必须定期从该路径制作自己的副本,并保留历史记录。

但我有一个'恶意'用户甚至不必使用历史文件;-)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.