注:イグナシオはすでに2.に答えているので、私は1.に答えています。
次のsudoエントリ:
superadm ALL=(ALL) ALL
4つのフィールドがあります。
- 最初のものは、いくつかのコマンドの特権を付与されるユーザーを指定します。
- 2番目のものはめったに使用されません。これは、このsudoエントリが有効になるホスト名のリストです。標準セットアップでは、関連するホストは1つだけであるため(localhost)、通常、このフィールドはとして残され
ALLます。
- 第四のフィールドは、コマンドのリストがある
superadm特権で実行できるようになります。ALLすべてのコマンドを意味します。それ以外の場合は、コマンドのコンマ区切りリストを使用します。
- 3番目のフィールド(
(…)オプションで記述されたフィールド)は、superadmユーザーが次のコマンドを実行できるユーザー(およびグループ)を指定します。ALL何でも選択できることを意味します(無制限)。このフィールドが省略されている場合、と同じことを意味し(root)ます。
例:
alan ALL = (root, bin : operator, system) /bin/ls, /bin/kill
ここでは、alan2つのコマンドを実行するために許可されている/bin/lsと/bin/killのようにroot(またはbin多分追加して、)、operatorまたはsystemグループの権限。
そのため、ユーザーとして、次のようなグループ権限でalan実行することを選択できます。lsbinoperator
sudo -u bin -g operator /bin/ls /whatever/directory
-uが省略された場合、それはと同じ-u rootです。場合は-g省略され、追加のグループ権限が付与されません。