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


11

私が継承したシステムの一部のユーザーのグループは、/ 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
$

回答:


12

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

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

Linuxでは、グループ0は、次のような権限昇格ユーティリティに特別な意味を持っていないsudosu、どちらか。Debianがデフォルトで 'wheel'グループを作成しないのはなぜですか?を参照してください

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


3

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

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

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


2

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

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

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


0

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

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

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

しかし、これはシステムによって異なる可能性があるため、これを実行してすべてを検索および検査する必要があります(最初は読み取り、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であることから得ることのアクセスを必要としないという議論をなされていない
スコット・
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.