48 votes

Comment dresser la liste de tous les utilisateurs ayant le droit d'accès à l'ordinateur (root) ?

Sur une machine linux, comment lister tous les utilisateurs qui ont les privilèges root (et même mieux, tous les utilisateurs en général avec s'ils ont root ou pas) ?

52voto

Warner Points 23292

N'oubliez pas de modifier le mot de passe root. Si un utilisateur a l'UID 0 en plus de root, il ne doit pas le faire. Mauvaise idée. Pour vérifier :

grep 'x:0:' /etc/passwd

Encore une fois, vous ne devriez pas faire cela, mais pour vérifier si l'utilisateur est membre du groupe racine :

grep root /etc/group

Pour savoir si quelqu'un peut exécuter des commandes en tant que root, vérifiez sudoers :

cat /etc/sudoers

Vérifier la présence du bit SUID, qui permet d'exécuter des programmes avec les privilèges de l'administrateur :

find / -perm -04000

52voto

jason saldo Points 5036

Pour savoir qui est l'UID 0 :

getent passwd 0

Pour savoir qui fait partie d'un groupe root , wheel adm und admin :

getent group root wheel adm admin

Pour dresser la liste de tous les utilisateurs et des groupes dont ils sont membres :

getent passwd | cut -d : -f 1 | xargs groups

6voto

Halil Özgür Points 101

La racine pure est l'utilisateur "0".

Tous les utilisateurs du système se trouvent dans le fichier /etc/passwd :

less /etc/passwd

Ceux qui sont root ont "0" comme identifiant d'utilisateur, ce qui correspond à la troisième colonne. Les personnes dont le groupe est "0" (4e colonne) peuvent également disposer de certains privilèges de l'utilisateur root.

Ensuite, vous devez regarder les groupes et voir qui est un membre supplémentaire des groupes "root", "wheel" ou "admin" :

less /etc/group

Les utilisateurs répertoriés dans ces groupes peuvent avoir des privilèges de super-utilisateur, en particulier via la commande "sudo".

La dernière chose que vous voudrez vérifier est la configuration "sudo" et voir qui est listé comme ayant l'autorisation d'exécuter cette commande. Ce fichier est bien documenté, je ne le reproduirai donc pas ici :

less /etc/sudoers

Cela couvre les principaux domaines où l'accès à la racine est possible.

3voto

MadHatter Points 77602

Pour imprimer tous les utilisateurs

perl -n -e '@user = split /:/ ; print "@user[0]\n";' < /etc/passwd

Pour imprimer uniquement les utilisateurs ayant l'UID 0, c'est-à-dire, comme d'autres l'ont dit, les utilisateurs ayant les privilèges implicites de root :

perl -n -e '@user = split /:/ ; print "@user[0]\n" if @user[2] == "0";' < /etc/passwd

2voto

Emeraldo Points 191

Pour obtenir une liste rapide de tous les utilisateurs, essayez d'appuyer deux fois sur la touche de tabulation (pour l'auto-complétion) après avoir tapé le mot-clé passwd suivie d'un espace. Cela fonctionne avec la commande su également.

Doit être effectué en tant qu'utilisateur root.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X