web-dev-qa-db-ja.com

グループ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
$
11
user4443

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

伝統的に、グループ0は多くのUNIXバリアントに対して特別な特権を持っていました— suを使用してrootになる(rootパスワードを入力した後)権利、またはパスワードを入力せずにrootになる権利。基本的に、グループ0のユーザーはシステム管理者でした。グループ0に特別な権限がある場合、wheelと呼ばれます

Linuxでは、グループ0は、Sudosuなどの特権昇格ユーティリティにとって特別な意味を持ちません。参照 Debianがデフォルトで 'wheel'グループを作成しないのはなぜですか?

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

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

さらに、一部のプログラムは、グループ0を特別に処理する場合があります。たとえば、一部のBSDシステムではsuパスワードなしのrootアクセスをグループ0のメンバーに許可します

そのため、これはスーパーユーザークラスではありませんが、誰がメンバーであるかに注意します。

3
Jander

これは単に、プライマリグループが他のものではなくrootであることを意味します。したがって、たとえば、グループ設定がrootであるファイルにアクセスするときは、グループ設定を使用します。

ほとんどの標準システムファイルはroot.rootですが、グループのアクセス許可は通常、ワールドのアクセス許可と同じであるため、システムが標準ファイルのグループのアクセス許可を変更していない限り、これだけではメリットはありません。

完全なroot権限は付与されません。

2
StarNamer

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

これは 最小特権の原則 に反するため、避ける必要があります。

より具体的には、これにより、ユーザー(読み取り、書き込み、または実行)に、多くの通常のファイルとディレクトリだけでなく、システムカーネルとやり取りする 特別なもの へのアクセス許可も付与されます。

ただし、これはシステムによって異なる可能性があるため、これを実行してすべてを検索および検査する必要があります(最初は読み取り、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コントローラー、ネットワークカード、ビデオカードなど)

0
JohannesB