Sudoersファイルの権限を理解する

Sudoersファイルの権限を理解する

私が理解しようとしているsudo文書Debian Wiki。これを行うには、次の2つの例を使用します。しかし、私はそれらの違いを理解していません。ルートのALL:ALL()オプションと比較して、グループsudoに()があるのはなぜですかALL?コマンドの各部分が何をするのですか?

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

#Default rule for root.
root    ALL=(ALL) ALL

答え1

説明する%sudo ALL=(ALL:ALL) ALL:-

  • %sudo- これグループ(名称sudo)は許可されていますsudo

  • 1つ目は、すべての端末またはホスト(すべてのシステム)でALL許可されることを意味します。sudo

  • (ALL:ALL)コマンドを次のように実行できることを示します。(User:Group)
  • 最後に、Allすべてのコマンドを実行できることを意味します。

説明するroot ALL=(ALL) ALL

  • root- これユーザー(root)は、すべてのユーザーで、すべてのシステムですべての操作を許可します。

説明(ALL:ALL):(次に実行(User:Group)

  • 最初の「ALL」は、ユーザー(の場合root)またはグループのメンバー(の場合%admin)がコマンドを実行できることを意味します。すべてのユーザーと同様に

  • 2番目の「ALL」は、ユーザー(例root)またはグループメンバー(例%admin)がコマンドを実行できることを意味します。すべてのグループと同様に。

使用している場合(ALL)は、別のグループで実行することはできません(ALL:ALL)すべてのユーザーとすべてのグループで実行

答え2

ALL:ALLの違いは、利用可能なユーザーとグループの組み合わせALLです。RunAsたとえば、

# sudo -u muru -g git id
Sorry, user root is not allowed to execute '/usr/bin/id' as muru:git on muru-laptop.
# sudo -u muru -g muru id
uid=1000(muru) gid=1000(muru) groups=1000(muru),10(wheel),21(locate),102(polkitd),190(systemd-journal)
$ sudo -u muru -g git id
uid=1000(muru) gid=997(git) groups=997(git),10(wheel),21(locate),102(polkitd),190(systemd-journal),1000(muru)
$ id    
uid=1000(muru) gid=1000(muru) groups=1000(muru),10(wheel),21(locate),102(polkitd),190(systemd-journal)

最初の2つのコマンドはroot通常のユーザーとして実行され、3番目と4番目のコマンドは(ALL:ALL)

ALLの場合のみ、-gユーザーのデフォルトグループを指定するためにのみ使用できます。これは-gまったく指定しないよりも優れていません。ALL:ALL有効なユーザーとグループの組み合わせを提供するために使用できます。

なぜこのような(人為的な)制限があるのか​​わかりません。

関連情報