当以 sudo 运行命令时,如何从 .bash_profile 自动填写密码?

当以 sudo 运行命令时,如何从 .bash_profile 自动填写密码?

我知道我可以sudo mypassword在我的 中添加类似的内容.bash_profile,但我不想以 root 身份运行每个命令。

我希望密码在以下情况下自动填充:

  • 仅需要 root 权限的命令
  • 仅我明确声明我计划运行 su 到 root 的命令sudo

例子:

sudo cd /var/root           #When I type this
Password:                   #I don't want to be prompted for my password
                            #I want to fill it from my `.bash_profile`

但:

cd /var/root                              #When I type this
-bash: cd: /var/root: Permission denied   #I still want this, or the like, returned

我看见这篇关于增加 sudo 超时的文章,但我认为这并不完全等同。例如,我希望它能够跨不同的 shell 登录会话。我可能是错的。

.bash_profile任何有关添加(或不添加!)到我的内容或哪种方法( )更可取的建议timeout vs profile将不胜感激!先感谢您。

答案1

如果您不想每次都询问您的密码,那么我建议您将其设置NOPASSWD在您的/etc/sudoers文件中,而不是在登录中硬编码您的密码。至少这样您的主要登录密码将保持完整,并且不会完全暴露在您的.bashrc.

要进行此更改,请运行命令sudo visudo,并将您的用户帐户条目更改为如下所示:

userX        ALL=(ALL)       NOPASSWD: ALL

相关内容