ユーザーがパスワードなしでsudoを使用できるようにする

ユーザーがパスワードなしでsudoを使用できるようにする

サンドボックス VM 環境では、ファイアウォールで保護され、ローカル システムの外部からはアクセスできない Ubuntu Linux をセットアップしています。そのため、その VM では、(私がセットアップした) 管理ユーザーに、パスワードを必要とせずに sudo で何でも実行できる権限を与えたいと思います。

これは安全ではないことは承知していますが、この VM は常にオンになっているわけではなく、実行するには個人のパスコードが必要です。したがって、これが「安全」ではないとしても、必要な機能を実現する方法はありますか?

答え1

から男のsudoers:

   NOPASSWD and PASSWD

   By default, sudo requires that a user authenticate him or herself
   before running a command.  This behavior can be modified via the
   NOPASSWD tag.  Like a Runas_Spec, the NOPASSWD tag sets a default for
   the commands that follow it in the Cmnd_Spec_List.  Conversely, the
   PASSWD tag can be used to reverse things.  For example:

    ray  rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm

   would allow the user ray to run /bin/kill, /bin/ls, and /usr/bin/lprm
   as root on the machine rushmore without authenticating himself.

もう 1 つのタグはALL、ユーザー ray がパスワードなしで任意のホストで任意のコマンドを実行できるようにするには、次を使用します。

ray ALL= NOPASSWD: ALL

答え2

ご指摘のとおり、システムが特定の安全な環境で実行されていない限り、パスワードプロンプトを無効にするのは得策ではありません。

解決策の1つは、NOPASSWDオプションよりも覚えやすいこのワンライナーです。管理者権限を取得して実行します。

$ visudo

次の行を追加します

デフォルト: ユーザー名 !認証する

これにより、特定のユーザーに対するパスワードプロンプトが完全に無効になります。

関連情報