在终端中输入密码时显示星号

每当您在终端输入密码时,无论是安装软件还是通过 SSH 访问远程服务器,您都必须输入密码。 现在,问题是,有时在输入密码时您会忘记输入了多少个字符,并且您可能必须在清除屏幕后重新输入密码。

这就是为什么大多数应用程序在输入密码时会显示视觉反馈(星号)。 出于安全原因,Linux 不会这样做,以防有人知道您密码的字符数。 例如,让我们看一下telegram-desktop的这个安装过程,如果我输入命令和密码,终端会显示:

安装 Telegram 时密码被隐藏

在本文中,我将向您展示如何在 Linux 中启用该反馈机制。

备份您的 sudoers 文件

我们将修改位于 /etc 目录中的名为 sudoers 的文件。 因此,让我们为此创建一个备份,以防我们搞砸了。 为此,请打开终端并键入以下命令:

sudo cp /etc/sudoers /etc/sudoers.bak 

修改你的 sudoers 文件

备份文件后,给自己授予读写权限,这样我们就可以通过键入以下命令来修改文件:

sudo chmod +rw /etc/sudoers 
更改 Sudoers 文件的权限

执行后,在您首选的文本编辑器应用程序(Vim 或 nano)中打开文件。 我将 vim 用于演示目的。

# For vim users sudo vim /etc/sudoers  # For nano Users sudo nano /etc/sudoers 

寻找一行写着:

Defaults env_reset 

现在,修改该行,使其看起来像这样(按 ‘i’ 进入 vim 文本编辑器中的插入模式):

Defaults env_reset,pwfeedback 
添加 Pwfeedback 以在终端中显示星号添加 Pwfeedback 以在终端中显示星号

现在,如果您使用的是 vim,请按 Esc 键退出插入模式并键入 :wq 写入文件并退出。 如果您使用的是 Nano 编辑器,请按 Ctrl+x 保存文件,然后键入“y”并按 Enter 键 close 它。

最后,您可以通过键入“reset”重新加载终端,现在您可以在终端中输入密码时看到反馈。 让我们再次尝试安装 Telegram:

现在输入密码时会显示星号现在输入密码时会显示星号

概括

您应该避免在公共计算机上的任何地方使用此技巧,因为它会带来安全风险。 但是对于那些在终端中看不到密码而感到困惑的初学者来说,这个技巧真的很有帮助。 在我看来,这个设置应该是任何“初学者友好”发行版中的默认设置。

参考

sudoers 官方手册