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 !

Vous avez un projet WordPress ou WooCommerce en tête? Transformez votre vision en réalité avec mon expertise reconnue.

Parlons de votre projet dès aujourd'hui »

Articles conseillés :

Matt

Matt Biscay est développeur WordPress et WooCommerce certifié chez Codeable, ainsi que sysadmin qualifié et enseignant-chercheur. Passionné par le code performant et les solutions sécurisées, je m'efforce d'offrir une expérience utilisateur exceptionnelle sur chaque projet.

Vous avez aimé cet article ? Vous avez un projet en tête et vous pensez que je pourrais vous aider à le concrétiser ? N'hésitez pas à me contacter, je serais ravi de discuter avec vous de votre projet !

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