ウェブサイト検索

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


あなたが通常自分だけで使用するマシン、例えばノートパソコンでLinuxを実行している場合、sudoを呼び出すたびにパスワードを入力するのは長い目で見れば非常に退屈になることがあります。したがって、このガイドでは、パスワードを入力せずにsudoコマンドを実行する方法を説明します。

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

重要: sudeorsファイルでは、デフォルトでオンになっているauthenticateパラメーターが認証目的で使用されます。これが設定されている場合、ユーザーは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. タグリスト - NOPASSWDなどのタグのリスト。
  5. command_list – sudoを使用してユーザーが実行するコマンドまたはコマンドエイリアスのリスト。

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

$ sudo visudo

そして次の行を追加してください:

aaronkilik ALL=(ALL) NOPASSWD: ALL

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

%sys ALL=(ALL) NOPASSWD: ALL

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

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システム管理者のための他の便利なsudo設定についてコメントで教えてください。

関連記事: