系统级 bash/zsh 别名黑名单

系统级 bash/zsh 别名黑名单

bash/zsh 中是否有黑名单功能,可以防止指定的命令等被别名覆盖?

具体来说 - 是否可以在 conf 文件中设置系统级内容,从而可以防止所有帐户对指定的命令进行别名化。

答案1

我不知道有什么方法可以阻止用户使用命令别名。我想你的意思是bash 的别名函数或其他外壳。

你可能会尝试修补 bash,将某些命令列入黑名单,以防止它们被别名化。但这样一来,用户就可以编写一个shell 函数或者使用 shell 脚本,或者 ac 程序,或者完全使用另一个 shell。

我认为可以肯定地说,尝试将某些命令列入黑名单以防止被别名实际上是不可能的。

答案2

如果您的目的是确保诸如此类的命令的安全性sudo,那么您应该重新考虑这是否有用。

如果攻击者能够破坏你的 shell 配置(添加有趣的别名),那么我想说你已经完蛋了。

[...]

一些替代方案包括:

  • 原始的贝壳/bin/zsh -f
  • 或使用command sudo

但是如果攻击者拥有你的 shell 配置,就意味着它可以在你的帐户中执行任意代码……

相关内容