En tant qu'administrateur Linux, vous devez savoir comment ajouter, supprimer et accorder des privilèges sudo aux utilisateurs. Parfois, vous avez peut-être donné un accès sudo temporaire à un utilisateur normal pour installer un logiciel ou effectuer certaines tâches administratives par lui-même. Au fil du temps, nous pourrions oublier de révoquer les privilèges sudo. Il est donc recommandé de vérifier de temps en temps le nombre de super utilisateurs dans votre système Linux. S'il y a des accès sudo oubliés ou indésirables, vous pouvez simplement les révoquer. Ce bref guide explique comment trouver tous les utilisateurs de sudo dans les systèmes d'exploitation de type Linux et Unix.
Téléchargement recommandé - Aide-mémoire gratuit :"Aide-mémoire de la ligne de commande Linux"
Répertorier les utilisateurs sudo sous Linux
Commençons par lister tous les utilisateurs du système. Pour ce faire, exécutez :
$ awk -F':' '{ print $1}' /etc/passwd
Exemple de sortie de mon système Ubuntu :
root daemon bin sys sync games man lp mail news uucp proxy www-data backup list irc gnats nobody systemd-timesync systemd-network systemd-resolve systemd-bus-proxy syslog _apt lxd messagebus uuidd dnsmasq sshd sk senthil kumar ostechnix
Une autre façon de lister tous les utilisateurs d'un système Linux est :
$ compgen -u
Maintenant, trouvons uniquement les utilisateurs sudo ou super dans notre système Linux avec la commande :
$ grep '^sudo:.*$' /etc/group | cut -d: -f4 sk,ostechnix
Vous pouvez également utiliser "getent"
commande au lieu de "grep"
pour obtenir le même résultat.
$ getent group sudo | cut -d: -f4 sk,ostechnix
Comme vous le voyez dans la sortie ci-dessus, "sk" et "ostechnix" sont les utilisateurs sudo de mon système.
Rechercher si un utilisateur a des privilèges sudo
Nous savons maintenant comment trouver tous les utilisateurs sudo dans notre système Linux. Comment savoir si un certain utilisateur a le privilège sudo ou non ? C'est facile !
Pour savoir si un utilisateur est un utilisateur sudo, exécutez simplement
$ sudo -l -U sk
Exemple de résultat :
Matching Defaults entries for sk on ubuntuserver: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User sk may run the following commands on ubuntuserver: (ALL : ALL) ALL
Comme vous le voyez, l'utilisateur nommé "sk" peut exécuter toutes les commandes. Donc, il est dans le groupe sudo.
Laissez-nous vérifier un autre utilisateur.
$ sudo -l -U senthil
Exemple de résultat :
User senthil is not allowed to run sudo on ubuntuserver.
Eh bien, l'utilisateur "senthil" n'est pas autorisé à exécuter sudo. C'est juste un utilisateur normal !
Nous pouvons également savoir si un utilisateur a un accès sudo en exécutant la commande suivante :
$ sudo -nv
Si vous n'obtenez rien en sortie, l'utilisateur a un accès sudo.
Si vous voyez une sortie comme ci-dessous, alors l'utilisateur n'a pas d'accès sudo.
$ sudo -nv Sorry, user senthil may not run sudo on ubuntuserver.
Suggestion de lecture :
- Comment accorder et supprimer des privilèges Sudo aux utilisateurs sur Ubuntu
- Comment modifier le fichier journal Sudo par défaut sous Linux
- Comment restaurer les privilèges Sudo à un utilisateur
- Comment exécuter des commandes particulières sans mot de passe Sudo sous Linux
- Comment forcer les utilisateurs à utiliser le mot de passe root au lieu de leur propre mot de passe lors de l'utilisation de sudo