Que signifie être dans le groupe 0?

11

Plusieurs utilisateurs d'un système dont j'ai hérité ont leur groupe défini sur 0 dans / etc / passwd. Qu'est-ce que ça veut dire? Obtiennent-ils essentiellement des privilèges root complets?

Le système exécute CentOS 5 et les utilisateurs semblent être principalement liés au système, bien qu'un ancien administrateur fasse également partie de ce groupe:

$ 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
$
Gilles 'SO- arrête d'être méchant'
la source

Réponses:

12

Contrairement à l'utilisateur 0 (l'utilisateur root), le groupe 0 n'a aucun privilège spécial au niveau du noyau.

Traditionnellement, le groupe 0 avait des privilèges spéciaux sur de nombreuses variantes Unix - soit le droit d'utiliser supour devenir root (après avoir tapé le mot de passe root), soit le droit de devenir root sans taper de mot de passe. Fondamentalement, les utilisateurs du groupe 0 étaient les administrateurs système. Lorsque le groupe 0 dispose de privilèges spéciaux, il est appeléwheel

Sous Linux, le groupe 0 n'a pas de signification particulière pour privilégier les utilitaires d'escalade tels que sudoet su, non plus. Voir Pourquoi Debian ne crée-t-il pas le groupe «roue» par défaut?

Sous CentOS, pour autant que je sache, le groupe 0 n'a pas de signification particulière. Il n'est pas référencé dans le sudoersfichier par défaut . Les administrateurs de ce système ont peut-être décidé d'émuler une tradition Unix et de conférer aux membres du groupe 0 des autorisations spéciales. Vérifiez la configuration PAM ( /etc/pam.conf, /etc/pam.d/*) et le fichier sudoers ( /etc/sudoers) (ce ne sont pas les seuls endroits où le groupe 0 aurait pu bénéficier de privilèges spéciaux, mais le plus probable).

Gilles 'SO- arrête d'être méchant'
la source
3

Contrairement à l'ID utilisateur 0, le noyau ne donne aucune autorisation spéciale au groupe 0. Cependant, comme 0 est généralement le groupe par défaut pour l' rootutilisateur, cela signifie que ces personnes pourront souvent accéder ou modifier les fichiers appartenant à root (puisque ces fichiers appartiennent aussi souvent au groupe 0).

De plus, certains programmes peuvent traiter spécialement le groupe 0. Par exemple, susur certains systèmes BSD, l' accès root sans mot de passe sera accordé aux membres du groupe 0 .

Donc, même si ce n'est pas une classe de superutilisateur, je ferais toujours attention à qui est membre.

Jander
la source
2

Cela signifie simplement que leur groupe principal est rootplutôt que toute autre chose et donc, par exemple, ils utilisent les paramètres de groupe lors de l'accès aux fichiers où se trouvent les paramètres de groupe root.

La plupart des fichiers système standard appartiennent à, root.rootmais les autorisations de groupe sont généralement les mêmes que les autorisations universelles, donc, en soi, cela ne donne aucun avantage à moins que votre système n'ait changé les autorisations de groupe sur les fichiers standard.

Il n'accorde pas de privilèges root complets.

StarNamer
la source
0

Je suis un peu en retard à la fête, mais je me suis posé la même question aujourd'hui et je suis arrivé à la conclusion suivante:

Cela va à l'encontre du principe du moindre privilège et doit donc être évité.

Plus précisément, cela peut donner à l'utilisateur (lecture, écriture ou exécution) des autorisations non seulement sur un grand nombre de fichiers et de répertoires réguliers, mais également sur de nombreux fichiers spéciaux comme celui-ci qui parlent au noyau de votre système.

Mais comme cela peut être différent pour votre système, vous devez l'exécuter pour les trouver et les inspecter tous (d'abord pour la lecture, ensuite pour l'écriture, eXecute est laissé comme exercice pour le lecteur):

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

Certains d'entre eux peuvent être des fichiers et des répertoires normaux (comme le répertoire personnel / root) mais d'autres peuvent être des pseudo-fichiers qui sont des interfaces avec le noyau (comme dans / proc et / sys)

par exemple:

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.

Utilisez lspci -v |lesspour savoir quels sont ces périphériques (par exemple: contrôleur de stockage, contrôleur USB, cartes réseau et vidéo, etc.)

JohannesB
la source
La page Wikipédia à laquelle vous accédez indique: «Le principe signifie de donner à un compte d'utilisateur ou de traiter uniquement les privilèges qui sont essentiels pour remplir sa fonction prévue.» Mais vous n'avez avancé aucun argument selon lequel ces comptes n'ont pas besoin de l'accès qu'ils obtiennent en étant dans le groupe 0.
Scott