Ubuntu : attention à la commande usermod

terminal icon

Il m’est arrivé une mésaventure ces derniers jours avec la commande usermod sous Linux. Dans un terminal, usermod sert à modifier les informations d’un utilisateur pour l’assigner à un groupe par exemple.

Or dans la documentation et sur les différents forums, l’exemple le plus souvent donné est :

usermod -G groupname username

Le gros problème de cette instruction, c’est qu’elle ajoute bien l’utilisateur au groupe mais en l’enlevant des groupes auxquels il appartient déjà !

La syntaxe correcte est celle-ci :

usermod -aG groupname username

Il faut tout simplement ajouter le paramètre -a, qui ajoute les nouveaux droits à l’utilisateur sans retirer les droits précédemment acquis.

Note : le paramètre -a doit impérativement se trouver avant -G car -G suppose que -a est un groupe. Il faut donc toujours mettre :

usermod -aG groupname username

ou

usermod -a -G groupname username

Mais jamais le contraire !

Besoin d’un partenaire fiable pour votre projet WordPress/WooCommerce ? Je mets mon expertise à votre service pour des résultats concrets.

Bénéficiez d’un accompagnement personnalisé »

Matt

Développeur certifié WordPress & WooCommerce chez Codeable, administrateur système et enseignant-chercheur, je mets mon expertise au service de vos projets web.

Ma priorité : des sites performants, fiables et sécurisés, pensés pour offrir la meilleure expérience utilisateur. J’accompagne chaque client avec écoute et pédagogie, pour transformer vos idées en solutions concrètes et durables.

Profitez de solutions WordPress et WooCommerce sur-mesure, pensées pour optimiser durablement votre site.
Explorez les leviers pour booster l’impact de votre site web.

4 pensées sur “Ubuntu : attention à la commande usermod”

  1. Bonjour, sur les systèmes RHEL, Centos, Scientifique linux, la syntaxe pour rajouter un user à un autre groupe que le primaire est bien : (example)

    groupadd -g 5001 groupe1
    usermod -G groupe1 user1
    id user1
    uid=500(user1) gid=500(user1) groups=500(user1),5001(groupe1)

    Pour changer le groupe primaire la commande est :

    usermod -g groupe1 user1
    id user1
    uid=500(user1) gid=5001(groupe1) groups=5001(groupe1)
    Reply
  2. Bonjour, je viens de me faire avoir aussi (en ajoutant le groupe vboxusers sans -a j’ai supprimé tous les autres groupes.
    Connaitrais tu l’antidote ? Il me faudrait rajouter tous les groupes supprimés malencontreusement mais comment savoir lesquels …. et toi, comment as-tu fait ?

    Merci d’avance.
    Bruno

    Reply
    • Bonjour,

      Essaie :

      usermod -aG adm,cdrom,sudo,dip,plugdev,lpadmin,vboxusers myusername

      en remplaçant myusername avec le nom de ton utilisateur.

      Reply

Opinions