グループ0に属するということはどういう意味ですか?

グループ0に属するということはどういう意味ですか?

私が受け取ったシステムの一部のユーザーは、/etc/passwdでグループを0に設定しました。それはどういう意味ですか?本質的にフルルートアクセス権が付与されていますか?

システムはCentOS 5を実行しており、ユーザーは主にシステム関連に興味があるようですが、以前の管理者もグループに含まれています。

$ grep :0: /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
operator:x:11:0:operator:/root:/sbin/nologin
jsmith:x:500:0:Joe Smith:/home/jsmith:/bin/bash
$

答え1

ユーザー0(rootユーザー)とは異なり、グループ0にはカーネルレベルで特別な権限がありません。

伝統的に、グループ0には、多くのUNIXバリアントに対する特別な権限、つまりrootになる権限su(rootパスワードを入力した後)またはパスワードを入力せずにrootにする権限があります。デフォルトでは、グループ0のユーザーはシステム管理者です。グループ0に特別な権限がある場合に呼び出されます。wheel

sudoLinuxでは、グループ0は同じ昇格ユーティリティに対して特別な意味を持ちませんsu。バラよりなぜDebianはデフォルトで「wheel」グループを作成しないのですか?

私が知る限り、CentOSではグループ0に特別な意味はありません。デフォルトファイルでは参照されませんsudoers。システム管理者は UNIX の伝統に従い、グループ 0 のメンバーにいくつかの特別な権限を付与することを決定できます。 PAM設定(/etc/pam.conf、、/etc/pam.d/*)とsudoersファイル(/etc/sudoers)を確認してください(グループ0に特別な権限が付与される可能性がある唯一の場所ではありませんが、その可能性が最も高いです)。

答え2

ユーザーID 0とは異なり、カーネルはグループ0に特別な権限を与えません。ただし、通常0はユーザーのデフォルトグループであるため、これは通常、rootがroot所有するファイルにアクセスまたは変更できることを意味します(これらのファイルは通常グループ0に属するため)。

また、一部プログラムグループ0は特別に扱うことができます。たとえば、su一部のBSDシステムではグループ0のメンバーには、パスワードのないルートアクセス権が付与されます。

したがって、スーパーユーザークラスではありませんが、誰がメンバーであるかはわかります。

答え3

これは、基本グループがroot別のものではないという意味です。たとえば、グループが設定されているファイルにアクセスするときは、グループ設定を使用しますroot

ほとんどの標準システムファイルは属しますroot.rootが、グループ権限は通常グローバル権限と同じであるため、システムが標準ファイルのグループ権限を変更しない限り、それ自体には利点はありません。

完全なroot権限を付与しません。

答え4

私はパーティーに少し遅れましたが、今日も同じ質問を自分に投げ、次の結論に達しました。

これは異議最小権限の原則したがって、避けるべきです。

より具体的には、これは多くの一般的なファイルやディレクトリにアクセスできるだけでなく、ユーザーに多くの権限を付与する(読み取り、書き込み、または実行)権限をユーザーに提供できます。特別なこれはシステムのカーネルと話すのと同じです。

ただし、これはシステムによって異なる可能性があるため、これを実行してすべての項目を見つけて確認する必要があります(最初のものは読み取り用、2番目は書き込み用、eXecuteは読者のための練習のままです)。

find / -group 0 -perm -g+r ! -perm -o+r  -ls | less 
find / -group 0 -perm -g+w ! -perm -o+w  -ls | less

これらのいくつかは通常のファイルやディレクトリ(ホームディレクトリ/ rootなど)であるかもしれませんが、他のものはカーネルへのインタフェースとして機能する擬似ファイル(/ procや/sysなど)です。

たとえば、

find /sys -type f -group 0 -perm -g+w ! -perm -o+w  -name 'remove'
/sys/devices/pci0000:00/0000:00:17.0/0000:13:00.0/remove
/sys/devices/pci0000:00/0000:00:17.0/remove
/sys/devices/pci0000:00/0000:00:16.6/remove
...
etc.

これらのデバイスが何であるかを判断するために使用されますlspci -v |less(たとえば、ストレージコントローラ、USBコントローラ、ネットワーク、ビデオカードなど)。

関連情報