Did I Leak the Password in the Command Line?

💡 原文约400字/词,阅读约需2分钟。
📝

内容提要

作者在生产服务器上误输入了包含密码的命令,导致密码暴露在终端历史记录中。他建议用`history -d`删除特定行,`history -w`更新历史,或`history -c`清除所有历史。还可以在`.bashrc`中设置`HISTIGNORE`,忽略特定命令。

🎯

关键要点

  • 作者在生产服务器上误输入了包含密码的命令,导致密码暴露在终端历史记录中。
  • 可以使用`history -d`删除特定行,`history -w`更新历史,或`history -c`清除所有历史。
  • 可以使用for循环删除一系列历史命令。
  • 在`.bashrc`中设置`HISTIGNORE`,可以忽略特定命令不记录在历史中。
  • HISTIGNORE的值是正则表达式,可以添加多个规则,用冒号分隔。

延伸问答

如何删除终端历史中的特定命令?

可以使用命令 `history -d 行号` 删除特定行的历史记录。

如果我想清除所有终端历史,该怎么做?

可以使用命令 `history -c` 来清除所有终端历史记录。

如何确保某些命令不被记录在终端历史中?

可以在 `.bashrc` 文件中设置 `HISTIGNORE`,添加需要忽略的命令模式。

如何使用循环删除一系列历史命令?

可以使用 `for` 循环结合 `history -d` 命令来删除一系列历史行。

HISTIGNORE 的值是什么?

HISTIGNORE 的值是正则表达式,可以添加多个规则,用冒号分隔。

如果我不小心暴露了密码,应该怎么处理?

可以使用 `history -d` 删除包含密码的命令行,并更新历史记录。

➡️

继续阅读