sudoでコマンドを実行するときに.bash_profileでパスワードを自動補完する方法は?

sudoでコマンドを実行するときに.bash_profileでパスワードを自動補完する方法は?

sudo mypassword私はこのようなものを追加できることを知っていますが、.bash_profileすべてのコマンドをrootとして実行したくありません。

次のような場合は、パスワードが自動的に完成したいと思います。

  • ルート権限のみが必要なコマンド
  • ルートでsuコマンドを実行する予定であることを明示的に指定した場合にのみ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 タイムアウトの増加に関するこの記事しかし、私はそれがまったく同じだとは思わない。たとえば、さまざまなシェルログインセッションで動作したいとします。私が間違っている可能性があります。

.bash_profile私のコンテンツに何を追加するか(または追加しないのか!)、またはどのアプローチ()がより望ましいかについての提案をいただきありがとうtimeout vs profileございます。よろしくお願いします。

答え1

毎回パスワードを要求したくない場合は、ログイン時にパスワードをハードコーディングするのではなく、ファイルNOPASSWDにパスワードを設定することをお勧めします。/etc/sudoers少なくともこれを行うと、デフォルトのログインパスワードがそのまま残ります.bashrc

これを変更するには、コマンドを実行してsudo visudoユーザーアカウントのエントリを次のように変更します。

userX        ALL=(ALL)       NOPASSWD: ALL

関連情報