{{tag>tutoriel système utilisateur shell}}
----
====== Gestion des utilisateurs et groupes en ligne de commande ======
Ce tutoriel recense les commandes de gestion simple des utilisateurs et groupes en ligne de commande.
===== Pré-requis =====
La gestion des utilisateurs et des groupes est une activité **très** sensible pour la sécurité et la stabilité de votre système.
Assurez-vous de savoir ce que vous faites avant de commencer.
* Disposer des [[:sudo|droits d'administration]].
* Avoir lu la documentation sur les utilisateurs et groupes
* Être initié à la ligne de commande
===== Lister les utilisateurs et groupes =====
Afficher la liste des utilisateurs :
compgen -u
ou
cut -d: -f1 /etc/passwd
Afficher la liste des groupes
compgen -g
ou
cut -d: -f1 /etc/group
===== Créations =====
==== Ajouter un utilisateur au système ====
sudo useradd nom_utilisateur
==== Ajouter un groupe au système ====
sudo groupadd nom_groupe
===== Suppressions =====
==== Suppression d'un utilisateur ====
sudo userdel nom_utilisateur
Malgré la suppression du compte, le répertoire personnel est conservé. L'ensemble des données qui y sont stockées est donc conservé. Par conséquent n'importe quel nouvel utilisateur créé ou ajouté ultérieurement avec le même UID/GID que le précédent propriétaire aura alors accès à ce répertoire et aux fichiers qui y sont stockés.
La suppression du répertoire personnel doit donc être effectuée manuellement. Si le répertoire est /home/utilisateur, la commande suivante fera le travail :
sudo rm -R /home/utilisateur # attention rm est une commande dangereuse !! attention à la syntaxe
==== Suppression d'un groupe ====
sudo groupdel nom_groupe
===== Ajouts =====
==== Ajouter un utilisateur à un groupe ====
sudo adduser nom_utilisateur nom_groupe
Si vous créez un nouveau groupe et ajoutez votre compte utilisateur à ce groupe, pour que les droits soient effectifs, il faut fermer/ré-ouvrir votre session pour éviter le "permission denied" alors que le groupe a bien les [[:droits]] //rwx// ((https://askubuntu.com/a/455442)), tapez la commande id
pour le constater
===== Modifications ====
==== Modifier l'identifiant d'un compte d'utilisateur ====
Cette modification s'effectue à partir d'un autre compte administrateur que le compte modifié. Aucune session du compte modifié ne doit être active.
sudo usermod --login identifiant_nouveau_compte_a_modifier --home /home/identifiant_nouveau_compte_a_modifier --move-home identifiant_initial_compte_a_modifier
//Voir [[tutoriel:changer_un_identifiant_de_compte|Comment changer l'identifiant d'un compte d'utilisateur ?]]//
==== Modifier l'identifiant de l'unique compte administrateur ====
La modification ne peut pas s'effectuer pendant que la session est active. Il convient donc de redémarrer l'ordinateur en mode de récupération (recovery mode) puis d'ouvrir une session en mode super-utilisateur.
Les commandes à saisir sont les suivantes :
usermod --login nouvel_identifiant --home /home/nouvel_identifiant --move-home ancien_identifiant
exit
Si l'erreur « impossible de verrouiller /etc/passwd » apparaît, c'est probablement que les fichiers sont en lecture seule. Dans ce cas, exécuter
mount -o remount,rw /
et saisissez de nouveau la commande précédente.
Choisissez ensuite pour poursuivre le chargement normal d'Ubuntu.
==== Modification de l'identifiant de groupe ====
La commande doit être saisie par un administrateur mais ne nécessite pas la clôture du compte concerné.
sudo groupmod --new-name nouveau_nom nom_actuel
==== Verrouillage d'un compte ====
Un employé ou stagiaire de l'entreprise parti, un enfant trop addict à un jeu… il peut être utile de verrouiller un compte:\\
Avec les [[:sudo|droits d'administration]]
usermod --expiredate 1 nom_utilisateur
(c'est le chiffre UN)\\
Pour le réactiver
usermod --expiredate "" nom_utilisateur
==== Modification du mot de passe ====
* Modification du mot de passe de l'utilisateur courant : la commande passwd
usr@lepc:~$ passwd
Changement du mot de passe pour usr.
Mot de passe UNIX (actuel) :
Entrez le nouveau mot de passe UNIX :
Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succès
* Modification du mot de passe d'un autre utilisateur (réservé à root((administrateur système)))
su --login -c "passwd autre_utilisateur"
Éviter d'utiliser la méthode ci-dessus même si elle vous permet de devenir root en utilisant votre mot de passe administrateur (directement après avoir utilisé ''passwd'' faites ''exit'').
usr@lepc:~$ sudo -i
[sudo] Mot de passe de usr :
root@lepc:~# passwd autreutilisateur
Entrez le nouveau mot de passe UNIX :
Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succès
root@lepc:~# exit
exit
usr@lepc:~$
===== Voir aussi =====
* **(fr)** [[:adduser|adduser]]
* **(fr)** [[:useradd|useradd]]
* **(fr)** [[http://manpages.ubuntu.com/manpages/gutsy/fr/man8/groupmod.8.html|groupmod]]
* **(fr)** [[http://guide.ubuntu-fr.org/server/user-management.html|gestion des utilisateurs]] sur le guide ubuntu-fr
* **(fr)** [[http://dev.petitchevalroux.net/linux/format-etc-passwd-linux.217.html|comprendre le fichier /etc/passwd]]
* **(en)** [[http://manpages.ubuntu.com/manpages/karmic/man8/newusers.8.html|Création de nouveaux utilisateurs en batch]]
* **(fr)** [[:tutoriel/changer_un_identifiant_de_compte|Changer un identifiant de compte]]
* **(en)** [[http://crybit.com/15-switches-of-usermod-command-with-example-unixlinux/]]
* **(en)** [[http://www.basicconfig.com/linux/edit_modify_linux_user_account_information_usermod_command]]
----
//Contributeurs principaux : [[:utilisateurs:zococo|Zococo]] ; [[:utilisateurs:eagle08]] //