====== Gérer utilisateurs et groupes ======
{{http://www.swisslinux.org/travaux.png|En travaux!}}
>**Sujet** : Gestion des droits des utilisateurs et des groupes \\
>**Niveau** : Intermédiaire \\
>**Auteur** : [[utilisateurs:SeAkZ]] d'après un [[http://www.swisslinux.org/forums/ftopic197.php|sujet du forum]], révisé par [[utilisateurs:calimarno]] le 21 septembre 2006\\
===== Introduction =====
{{http://www.swisslinux.org/encours.png |En cours}} La gestion des droits des [[#utilisateurs]] et des [[#groupes]] sont une particularité très importante des systèmes basés sur [[wpfr>Unix]]. Cette page regroupe les commandes importantes qui permettent de gérer ces droits dans un système Linux.
===== Où trouver des informations ? =====
Tout d'abord il faut savoir ou on peut trouver des informations sur ses utilisateurs et ses groupes. Voici donc les emplacement des fichiers concernés ainsi qu'une description de leur contenu :
* ''/etc/passwd'' contient les informations sur les //comptes d'utilisateurs//,
* ''/etc/shadow'' contient les mêmes informations que ''passwd'' mais les mots de passe sont cryptés,
* ''/etc/group'' contient les informations sur les //groupes//,
* ''/etc/gshadow'' contient les mêmes information que ''group'' mais les mots de passe sont cryptés.
===== Utilisateurs =====
==== Ajouter un compte ====
La commande ''useradd'' sert à ajouter un nouvel utilisateur. Exemple :
useradd -g [le nom ou le no de son future groupe principal] -G [le nom ou le no de son/ses future(s) groupe(s) secondaire(s)] -p [son password] -u [son uid] [son nom]
==== Modifier un compte ====
La commande ''usermod'' permet d'éditer les valeurs d'un compte utilisateur. Exemple :
usermod -g [le nom ou le no de son future groupe principal] -G [le nom ou le no de son/ses future(s) groupe(s) secondaire(s)] -p [son password] -u [son uid] [son nom]
==== Supprimer un compte ====
La commande ''userdel'' sert à supprimer un compte d'un utilisateur. Exemple :
userdel -r [nom d'utilisateur]
L'option ''r'' permet de supprimer aussi les fichiers qui se trouve dans le répertoire personnel de l'utilisateur.
=== Supprimer les fichiers d'un utilisateur qui n'existe plus ===
Si vous désirez effacer par la suite les fichiers d'un utilisateur qui a déjà été supprimé :
- Conservez provisoirement le "home directory" : mv /home/[USER] /home/[USER.old]
- Avant d'effacer les fichiers, vérifiez qu'aucun processus ne tourne sous l'id de l'utilisateur : ps awux | grep ^[USER]
- Recherchez les fichiers de l'utilisateur afin de les détruire : find / -user [USER] -exec rm -f {} \;
**Attention!** Ceci efface les fichiers sans avertissement à partir de la racine. Pour être sûr de ne plus pouvoir récupérer les fichiers facilement, il faut utiliser ''shred'' à la place de ''rm''.
===== Groupes =====
==== Ajouter un groupe ====
La commande ''groupadd'' permet d'ajouter un nouveau groupe. Exemple :
groupadd -g [choisir son gid] [nom du group ]
Le ''gid'' est le numéro du groupe (comme l'''uid'' est celui de l'utilisateur). S'il est omis, ''groupadd'' le choisira automatiquement. Il sert surtout pour des systèmes logiques comme en entreprise; s'il y a plusieurs secteurs on peut utiliser 1000 à 1999 pour le secteur 1, 2000 à 2999 pour le secteur 2, etc. et faire de même pour des sous-secteurs (1100 à 1199, etc.)
==== Modifier un groupe ====
La commande ''groupmod'' permet de modifier un groupe. Exemple :
groupmod -g [choisir son gid] [nom du group ]
==== Supprimer un groupe ====
La commande ''groupdel'' permet de supprimer un groupe. Exemple :
groupdel [nom du groupe]
===== Autres commandes =====
* ''chown'' change le propriétaire d'un fichier ou d'un répertoire,
* ''chgrp'' change le groupe propriétaire,
* ''id [utilisateur]'' donne des information sur un utilisateur,
* ''ls'' liste les fichiers du répertoire (''ls -al'' pour afficher les attributs et les permissions).