ユーザーを「sudoers」グループに追加する場合と「root」グループに追加する場合の違いは何ですか?

ユーザーを「sudoers」グループに追加する場合と「root」グループに追加する場合の違いは何ですか?

調査したところ、ユーザーに sudo コマンドの使用を許可するには、そのユーザーを「sudoers」グループに追加する必要があることがわかりました。これにより、ユーザーが root のパスワードを入力する限り、root 権限が与えられます。しかし、ユーザーを「sudoers」グループではなく「root」グループに追加している例も見かけました。私の質問は、2 つのグループに異なる権限が与えられているのか、もしそうなら、それはどのような権限で、両方の手法の利点は何なのかということです。

Debian Linux サーバーを使用しています。

ありがとう

答え1

/etc/group で指定する「ルートグループ」は、UNIX のパーミッションに関するものです。すべてのファイルには、ユーザー、グループ、および「その他」のパーミッションがあります。ルートグループのユーザーがファイルを読み取れるように設定されている場合、そのユーザーをルートグループに入れることで、そのファイルを読み取る権限をユーザーに付与できます。もちろん、そのユーザーはファイルを読み取ることができます。グループ ルートの読み取りビットが設定されているファイル。

sudoers ファイルは、他のユーザーの実効 ID を使用してコマンドを実行するためのものです。各ユーザーがどのコマンドを誰として実行できるかをより細かく制御できます。したがって、ユーザーが特定のコマンドを root としてのみ実行できるようにしたい場合は、sudoers ファイルで設定します。

答え2

質問には「Debian Linux サーバー」と書かれていますが、現在は Debian と Ubuntu の両方のタグが付けられています。複数のオペレーティング システムに関する情報は興味深いと思われるため、特定のオペレーティング システムに関する言及は完全に無視し、最も広く普及している標準についてのみ説明します。

グループは /etc/group にリストされており、多くの場合「root」という名前のグループがあります。このファイルには、グループの名前と、それに対応する「グループ ID」(「GID」) の数値がリストされています。

「root」という名前のグループに属するユーザーは誰でも、そのグループと同じ「グループ ID」(「GID」) に設定された「グループ所有者」を持つファイルの読み取り、書き込み、または実行を行うことができます。したがって、ファイルの所有者が「bin:root」で、そのファイルの権限が「rwxrwx---」である場合、中間の権限セットにより、「root」グループのユーザーはそのファイルを実行できます。

対照的に、「sudo」ソフトウェアによって設定される標準は、/etc/sudoersファイルに保存されている設定に基づいています。/etc/sudoersファイルでは、Unixスタイルのグループ名はパーセント記号の後に表示されます。sudoers マニュアル ページ (HTML 形式): 「sudoers」ファイル形式のセクションしたがって、/etc/sudoers ファイル内の %sudoers への参照は、/etc/groups ファイル内の「sudoers」という名前のグループを参照します。

デフォルトの/etc/sudoersファイルには、「sudoers」という名前のグループへの参照は含まれていません。ここで言及しているのは、実際のデフォルトの/etc/sudoersファイルであり、以下で確認できます。sudo リポジトリ左側のフレームで「参照」をクリックし、次に「例」をクリックしてから「sudoers」をクリックします。

ただし、多くのオペレーティング システムには、デフォルトでカスタムの /etc/sudoers ファイルがインストールされています。そのため、オペレーティング システムが sudoers というグループを特別にサポートしている可能性は十分にあります。正確な影響を理解するには、/etc/sudoers ファイルを確認してください。

おそらく、オペレーティング システムに sudoers というグループがある場合、そのグループ内のユーザーは sudo コマンドを使用して権限を昇格できると考えられます。(これを確認するには、/etc/sudoers ファイルを確認することをお勧めします。)

ユーザーが権限を昇格する場合、適切な認証 (パスワード) を入力する必要がある場合もあれば、入力する必要がない場合もあります。たとえ入力したとしても、認証された後、一定期間「トークン」が保持され、再度認証することなく (その期間が終了するまで) 再度権限を昇格できます。/etc/sudoers で「timeout」というオプションを使用して別の値を指定しない限り、この期間は 5 分です。

対照的に、「root」グループのユーザーは、「root」グループが所有するファイルにアクセスするためにパスワードを入力する必要はありません。

「sudoers」グループが優先される可能性があることに注意してください。昇格すると、完全なスーパーユーザー アクセスを取得できる場合があります (これは一般的なことです。/etc/sudoers ファイルでは、別のユーザーに切り替えたり、昇格したりできますが、最初に実行するコマンドに制限があります。通常、デフォルト/シンプルな構成では、昇格したユーザーは完全な昇格のみを取得します)。完全なスーパーユーザーとして認証されると、ユーザーは、一般的な Unix ファイルシステムの所有権 (「所有者」と「グループ所有者」の設定) に基づく権限の対象にはなりません。ユーザーは、パーティションのマウント方法によって強制される権限 (ソフトウェアが読み取り専用 CD-ROM への書き込みをユーザーに許可しない理由) や、ファイルが権限を提供しないその他の理由 (ファイルがロックされている場合、ファイルがすでに使用されていることを示すなど) など、他の権限ベースの制限の対象となる場合があります。ファイルの所有者が次のとおりである場合:

ルート:ルート

以下の権限を持ちます:

rwx------

すると、ユーザーが「root」というグループに属しているという理由だけで、ファイルへのアクセス許可がユーザーに付与されることはありません。したがって、「root」グループはより便利です (パスワードは不要) が、より制限される可能性があります。 (または、/etc/sudoers 内のグループは、/etc/sudoers の設定方法に基づいて、より制限される可能性があります。)

答え3

まず、マシンに Ubuntu をインストールした直後、rootuser はグループの最初のユーザーです。次に、とスーパーユーザー (たとえば Michael) は両方とも、スーパーユーザーの ID である 0 という同じ( ) を持ちます。彼らは同じ権限を持ちます。3 番目に、唯一の違いは、a は特別な権限を必要とするコマンドの前に commandを入力する必要があるのに対し、user はそうする必要がないことです。彼らは名前だけが異なり、次のように認識されます。sudoersrootuser idUIDsuper usersudoroot

関連情報