ウェブサイト検索

Linux でパスワードを入力せずに Sudo コマンドを実行する方法


普段単独で使用しているマシン、たとえばラップトップで Linux を実行している場合、sudo を呼び出すたびにパスワードを入力するのは、長期的には非常に退屈になる可能性があります。したがって、このガイドでは、パスワードを入力せずに sudo コマンドを実行するように設定する方法について説明します。

この設定は /etc/sudoers ファイルで行われ、sudoers が sudo コマンドのデフォルトのセキュリティ ポリシー プラグインを使用するようになります。ユーザー権限の指定セクションの下にあります。

重要: sudeors ファイルでは、デフォルトでオンになっている認証パラメータが認証の目的で使用されます。これが設定されている場合、ユーザーはsudo でコマンドを実行する前に、パスワード (または他の認証手段) で自分自身を認証する必要があります。

ただし、このデフォルト値は、NOPASSWD (ユーザーが sudo コマンドを呼び出すときにパスワードを必要としません) タグを使用してオーバーライドできます。

ユーザー権限を構成する構文は次のとおりです。

user_list host_list=effective_user_list tag_list command_list

どこ :

  1. user_list – ユーザーまたは既に設定されているユーザー エイリアスのリスト。
  2. host_list – ユーザーが sudo を実行できるホストまたはホスト エイリアスのリスト。
  3. Effective_user_list – として実行する必要があるユーザー、またはエイリアスとして実行する必要があるユーザーのリスト。
  4. tag_list – NOPASSWD などのタグのリスト。
  5. command_list – ユーザーが sudo を使用して実行するコマンドまたはコマンド エイリアスのリスト。

ユーザー (以下の例では aaronkilik) がパスワードなしで sudo を使用してすべてのコマンドを実行できるようにするには、sudoers ファイルを開きます。

sudo visudo

そして、次の行を追加します。

aaronkilik ALL=(ALL) NOPASSWD: ALL

グループの場合は、次のようにグループ名の前に % 文字を使用します。これは、sys グループのすべてのメンバーがパスワードなしで sudo を使用してすべてのコマンドを実行することを意味します。

%sys ALL=(ALL) NOPASSWD: ALL

ユーザーがパスワードなしで sudo を使用して特定のコマンド (/bin/kill) を実行できるようにするには、次の行を追加します。

aaronkilik ALL=(ALL) NOPASSWD: /bin/kill

以下の行により、sys グループのメンバーが sudo を使用してコマンド /bin/kill/bin/rm を実行できるようになります。パスワードなし:

%sys ALL=(ALL) NOPASSWD: /bin/kill, /bin/rm

詳細な sudo 構成と追加の使用オプションについては、他の例を説明した記事を参照してください。

  • Linux で「sudo」を設定するための 10 の便利な Sudoers 構成
  • 間違ったパスワードを入力すると Sudo があなたを侮辱します
  • Linux で「sudo」パスワードのタイムアウト セッションを長く保つ方法

この記事では、パスワードを入力せずに sudo コマンドを実行するように設定する方法について説明しました。このガイドに関するご意見や、Linux システム管理者向けのその他の役立つ設定について、コメント欄にぜひお寄せください。