如何让我在运行“sudo”命令时输入的密码显示星号?

如何让我在运行“sudo”命令时输入的密码显示星号?

是否可以在使用命令时将密码显示为星号(或任何其他字符)sudo

目前,它没有显示任何内容,因此很难计算按下的击键次数。

答案1

打开终端并/etc/sudoers.tmp使用以下命令编辑文件:

sudo visudo

修改以下行:

Defaults env_reset

到:

Defaults env_reset,pwfeedback

保存并退出。重新启动终端,现在,当您使用 运行命令时sudo,您应该在输入密码时获得视觉反馈。

致谢:让密码星号在 Mac 或 Linux 终端中可见

答案2

虽然在终端 sudo 中没有配置或参数选项可以直接执行此操作,但理论上您可以完成类似于您需要的操作。

首先你需要设置环境变量

export SUDO_ASKPASS=/usr/bin/ssh-askpass

然后你可以使用选项运行命令-A,例如

sudo -A ls

这将为您提供图形提示。

理论上,您可以编写自己的程序,而不是使用 ssh-askpath,您的代码需要显示 argv[1] 中给出的提示,读取用户的密码(显示星号、圆圈或您喜欢的任何其他内容),然后将其显示到 stdout。不用担心显示它,因为 sudo 不会允许看到此密码,它会拦截此类显示。

相关内容