Installé avec le paquet passwd
Voir aussi : groupmod, groups, getent, id, members, chage, mkhomedir_helper et chsh
Afficher la version de la commande usermod
apt-cache policy passwd
Changer et écraser les groupes secondaires existants d’un utilisateur spécifié
usermod username -G newsecgroupname
Les groupes secondaires existants seront remplacés par le nouveau groupe secondaire spécifié.
ex :
# id usertest1 uid=1001(usertest1) gid=1002(grouptest1) groupes=1002(grouptest1),1003(grouptest2),1004(grouptest3) # usermod usertest1 -G grouptest2 # id usertest1 uid=1001(usertest1) gid=1002(grouptest1) groupes=1002(grouptest1),1003(grouptest2)
Ci-dessus, le groupe secondaire grouptest3 a été supprimé.
Ajouter un groupe secondaire à un utilisateur spécifié (mode append)
usermod username -aG newsecgroupname
Les groupes secondaires existants seront conservés, auxquels sera ajouté le groupe secondaire spécifié.
ex :
# id usertest1 uid=1001(usertest1) gid=1002(grouptest1) groupes=1002(grouptest1),1003(grouptest2) # usermod usertest1 -aG grouptest3 # id usertest1 uid=1001(usertest1) gid=1002(grouptest1) groupes=1002(grouptest1),1003(grouptest2),1004(grouptest3)
Ci-dessus, le groupe secondaire grouptest2 est conservé et le groupe secondaire grouptest3 lui est ajouté.
Changer le groupe primaire d’un utilisateur spécifié
usermod username -g newmaingroupname
Si le nouveau groupe primaire n’était pas un groupe secondaire, l’ancien groupe primaire deviendra groupe secondaire.
ex :
# id usertest1 uid=1001(usertest1) gid=1003(grouptest2) groupes=1003(grouptest2),1004(grouptest3) # usermod usertest1 -g grouptest1 # id usertest1 uid=1001(usertest1) gid=1002(grouptest1) groupes=1002(grouptest1),1003(grouptest2),1004(grouptest3)
Si le nouveau groupe primaire était un groupe secondaire, l’ancien groupe primaire ne deviendra pas groupe secondaire, il sera supprimé.
ex :
# id usertest1 uid=1001(usertest1) gid=1002(grouptest1) groupes=1002(grouptest1),1003(grouptest2),1004(grouptest3) # usermod usertest1 -g grouptest3 # id usertest1 uid=1001(usertest1) gid=1004(grouptest3) groupes=1004(grouptest3),1003(grouptest2)
Rmq : Tout fichier du répertoire personnel de l’utilisateur appartenant au groupe primaire précédent de l’utilisateur appartiendra à ce nouveau groupe.
Le groupe propriétaire des fichiers en dehors du répertoire personnel de l’utilisateur doit être modifié manuellement.
Désactiver un compte utilisateur
usermod username -e 0
Equivaut à :
chage username -E 0
ex :
# usermod usertest1 -e 0 # chage -l usertest1 Dernier changement de mot de passe : janv. 27, 2017 Fin de validité du mot de passe : jamais Mot de passe désactivé : jamais Fin de validité du compte : janv. 01, 1970 Nombre minimum de jours entre les changements de mot de passe : 0 Nombre maximum de jours entre les changements de mot de passe : 99999 Nombre de jours d'avertissement avant la fin de validité du mot de passe : 7
Réactiver un compte utilisateur
usermod username -e -1
Equivaut à :
chage username -E -1
ex :
# usermod usertest1 -e -1 # chage -l usertest1 Dernier changement de mot de passe : janv. 27, 2017 Fin de validité du mot de passe : jamais Mot de passe désactivé : jamais Fin de validité du compte : jamais Nombre minimum de jours entre les changements de mot de passe : 0 Nombre maximum de jours entre les changements de mot de passe : 99999 Nombre de jours d'avertissement avant la fin de validité du mot de passe : 7
Définir une date de désactivation d’un compte utilisateur
usermod username -e AAAA-MM-JJ
Equivaut à :
chage username -E AAAA-MM-JJ
ex :
# usermod usertest1 -e 2020-01-31 # chage -l usertest1 Dernier changement de mot de passe : janv. 28, 2017 Fin de validité du mot de passe : jamais Mot de passe désactivé : jamais Fin de validité du compte : janv. 31, 2020 Nombre minimum de jours entre les changements de mot de passe : 0 Nombre maximum de jours entre les changements de mot de passe : 99999 Nombre de jours d'avertissement avant la fin de validité du mot de passe : 7
Changer le shell de connexion d’un utilisateur
usermod username -s shellname
Equivaut à :
chsh username -s shellname
ex :
# usermod usertest1 -s /bin/false # ssh usertest1@localhost usertest1@localhost's password: The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat Jan 28 15:28:09 2017 from localhost Connection to localhost closed. # getent passwd usertest1 usertest1:x:1001:1002::/home/usertest1:/bin/false
Voir aussi la commande chsh