Bash

以 sudo 執行命令時,如何從 .bash_profile 自動填寫密碼?

  • August 21, 2014

我知道我可以sudo mypassword在 my中添加類似的內容.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 timeout 上看到了這篇文章,但我認為它並不完全等效。例如,我希望它能夠跨越不同的 shell 登錄會話。我可能是錯的。

任何關於添加什麼(或不添加!)到 my.bash_profile或哪種方法 ( timeout vs profile) 更可取的建議將不勝感激!先感謝您。

如果您不想每次都被要求輸入密碼,那麼我建議您將其設置NOPASSWD在您的/etc/sudoers文件中,而不是在您的登錄資訊中硬編碼您的密碼。至少這樣,您的主登錄密碼將保持不變,不會完全暴露在您的.bashrc.

要進行此更改,請執行命令sudo visudo,並將您的使用者帳戶條目更改為以下內容:

userX        ALL=(ALL)       NOPASSWD: ALL

引用自:https://unix.stackexchange.com/questions/151457