对 Linux 服务器上的其他用户隐藏命令历史记录

rmb*_*rmb 4 linux bash users command-history

当我在 Linux(Ubuntu)服务器上通过 ssh 登录时,我注意到服务器上其他用户执行的所有 bash 命令都保存在命令历史记录中。有没有办法可以让我对服务器上的其他用户隐藏我在命令行中输入的命令?

hac*_*rb9 5

有很多方法可以隐藏您的命令历史记录,但是完全关闭历史记录是一个坏主意,因为它非常有用。以下是暂时关闭它的三种好方法。

  1. 最快的解决方案:键入unset HISTFILE

    这将防止在当前登录会话中运行的所有命令在您注销时保存到 .bash_history 文件中。请注意,HISTFILE 将在您下次登录时重置,因此历史记录将照常保存。另请注意,这会从会话中删除所有命令,包括在您键入 unset HISTFILE 之前运行的命令,这可能不是您想要的。另一个缺点是,在注销之前您无法确定自己做对了,因为 bash 仍然可以让您使用向上箭头查看以前的命令。

  2. 最佳解决方案:在命令前键入一个空格

    尝试一下,然后按向上箭头查看它是否已添加到您的历史记录中。一些站点已经设置了它,因此不会保存此类命令。如果它不起作用,请将该行添加export HISTCONTROL=ignoreboth到您的 .bashrc 文件中。当您以后登录时,以空格开头的命令将立即被遗忘。

  3. 最容易记住:键入sh

    这将使用原始 Bourne shell 启动一个子 shell。写入其中的任何命令(直到您exit)都不会保存在您的历史记录中。任何查看您的历史文件的人都可以看到您运行了 sh(这是可疑的),但看不到您之后运行的内容。

有许多其他方法可以做到这一点。您甚至可以告诉 bash 永远不要记住哪些命令 (HISTIGNORE)。请参阅 bash(1) 的手册页并搜索 HIST 以查看许多可能性。