LoginSignup
0
0

sudoersの設定について

Last updated at Posted at 2024-04-09

環境

Ubuntu20.4

はじめに

Rubyで作成したスクリプトファイルをroot権限で実行しているのだが、毎回、rootのパスワードが聞かれてきます。毎回、パスワードを入力するのが面倒なため、sudoersファイルを編集してパスワードが聞いてこられないようにしました。

sudoersの設定

sudoersはsudoをつけてroot権限でコマンドを実行するときに参照される設定ファイルです。sudoersで設定されていなユーザーは、sudoをつけてコマンドを実行することはできません。

sudoersのデフォルトはつぎの設定になっています。

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

デフォルトの設定のままであれば、adminグループとsudoグループに含まれるユーザーは、すべてのコマンドに対してsudoをつけて実行することができます。デフォルトの設定に一般ユーザーは1つも登録されていません。

新規ユーザーを登録して、そのユーザーでsudoをつけてコマンドを実行したい場合、新規ユーザーを、既存のadminグループ、もしくは、sudoグループに含めると、sudoersファイルを汚さずに実行することができます。

新規ユーザーをadminグループ、sudoグループに含めない場合は、新規ユーザー用の設定をsudoersファイルに単独で記述することになります。

sudoersファイルは編集すれば即有効になります。何かのサービスを再起動しないと有効にならないとか、OSを再起動しないと有効にならないといったことはありません。

sudoersの設定例

下記の設定は、user1ユーザーがsudoをつけてcpコマンドを実行するときは、rootのパスワードを聞いてこなくする設定です。設定個所の(root)の記述は、(ALL)にしても、(ALL:ALL)にしてもいいでしょう。あまりこだわる個所ではありません。

user1 ALL=(root)   NOPASSWD: /bin/cp

user1ユーザーがhogeユーザーとして実行するときに限り、rootのパスワードを聞いてこなくする場合は、(hoge)の記述にします。このような使い方はよほど特殊な使い方だとは思います。

user1 ALL=(hoge)   NOPASSWD: /bin/cp

user1ユーザーがデフォルトで設定されている、sudoグループの中に含まれていても、上記の設定は有効になります。cpコマンドだけがパスワードフリートとなり、cpコマンド以外のコマンドの場合はパスワードを聞いてきいてこられます。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0