/etc/sudoers

概要

/etc/sudoersとは、UNIX系OSで一般ユーザーが一時的に特権ユーザーとなってプログラムを実行できるsudoコマンドの設定ファイル。どのユーザーにどのような権限を与えるかを記述する。

sudoLinuxなどのUNIX系OSで一般的なコマンドの一つで、現在ログインしている利用者が別の利用者(特に、特権ユーザー)の権限でプログラムを実行するもの。一部のプログラムを一般ユーザーに管理者権限で実行させたい場合などに利用される。

sudoによってどのユーザーがどの権限を取得することができるのかを記述した設定ファイルがsudoersファイルで、ここに記載された設定の範囲内でのみ権限が与えられる。一般的なシステムでは /etc/ ディレクトリに置かれている。

基本的な構文は「権限を与えるユーザー ホスト名=(成り代わるユーザー:グループ) 実行したいコマンド」で、1行に1ユーザーずつ記述する。「john ALL=(root) /bin/ls」のように指定すると「ユーザーjohnはどのホスト上でもrootユーザーの代わりとしてlsコマンドを実行できる」という意味になる。

rootを含むすべてのユーザー」は (ALL:ALL) のように表記するため、管理者権限を与えたいユーザーには「ALL=(ALL:ALL)」のように指定することもある。ホストはLDAPなどを使用していないローカル環境では「ALL」とする。

コマンドはフルパスで指定し、カンマ区切りで列挙することができる。「*」などのワイルドカードで複数のコマンドをまとめて指定することもできる。引数を指定すると他の引数での実行は禁止される。あらゆるコマンドを実行可能にしたい場合はコマンド部分にも「ALL」と指定する。

(2023.7.15更新)