Date création : 27-10-2007 00:00:00 Date de la dernière modification : 09-01-2008 22:19:31
 Vous êtes dans : GNU/Linux Tutoriels / Utilisateurs et groupsLe mécanisme de création d'un compte utilisateur sous GNU/Linux
I. Les entrées dans les fichiers /etc/passwd et /etc/group
- /etc/passwd
- /etc/shadow
- /etc/group
II. Attribution du shell de connexion
III. Création du répertoire personnel
IV. Mise en place des fichiers d'initialisation du shell
V. Attribution des droits
VI. Définir le propriétaire
VII. Définition de mot de passe
VIII. Exemple complet
Les entrées dans les fichiers /etc/passwd et /etc/group 
/etc/passwd
Le fichier /etc/passwd contient les données concernant le login d'utilisateur, le groupe dont il appartient, le UID (UserIDentifier), le GID (GroupIDentifier), le répertoire personnel, le shell de connexion.
Le fichier /etc/passwd contient plusieurs entrées et pour chaque entrée les champs sont separés par deux-points :
Voici les champs :
| Login |
Mot de passe
|
UID |
GID |
Informations sur l'utilisateur
|
Répertoire de connexion |
Shell de connexion
|
Login - le nom de connexion
Mot de passe - Ce champ contient x, le mot de passe crypté étant dans un autre fichier accessible seulement par l'administrateur
UID - c'est un numéro qui permet au noyau d'identifier l'utilisateur
GID - c'est un numéro qui permet au noyau d'identifier le groupe d'utilisateur
Informations utilisateur - le nom d'utilisateur et aussi d'autres infos comme numéro de téléphone, etc.
Répertoire de connexion - contient le chemin vers le répertoire personnel de l'utilisateur
Shell de connexion - le chemin vers le programme qui s'exécute à la connexion (En général il s'agit d'un shell)
Passons à la pratique
Voici les données :
- login : lami
- UID: 10000
- GID: 10000
- Informations utilisateur : Pierre Laporte
- Répertoire personnel : /home/lami
- Shell de connexion : /bin/bash
Avec ces données et en étudiant le format des entrées de /etc/passwd nous allons écrire dans /etc/passwd l'entrée pour lami
lami:x:10000:10000:Pierre Laporte:/home/lami:/bin/bash
|
/etc/shadow
Le fichier /etc/shadow a 9 champs séparés par deux-points
champ1
|
champ2 |
champ3
|
champ4
|
champ5
|
champ6
|
champ7
|
champ8
|
champ9
|
| Champ | Signification
|
| 1 |
nom de login
|
| 2 |
mot de passe crypté
|
| 3 |
nombre de jours depuis 01/01/1970 et la dernière modification du mot de passe
|
| 4 |
nombre minimum de jours entre 2 modifications des mot de passe
|
| 5 |
nombre maximum à partir duquel le changement de mot de passe est obligatoire
si le champ est inférieur à la valeur du champ 4, l'utilisateur ne peut pas changer son mot de passe
|
| 6 |
nombre de jours avant lequel l'utilisateur est informé de l'expiration du mot de passe
|
| 7 |
nombre de jours avant le verrouillage de compte
|
| 8 |
date d'expiration du mot de passe, exprimée en jour depuis 01/01/1970 |
| 9 |
champ reservé
|
Voici la ligne que nous ajoutons
lami:!:13827:0:99999:7:::
|
/etc/group
Le fichier /etc/group contient les données concernant les groupes existants sous le système.
Le fichier /etc/group contient plusieurs entrées et pour chaque entrée, les champs sont séparés par deux-points :
Voici les champs :
Nom groupe
|
Mot de passe
|
GID |
Liste des utilisateurs |
Nom groupe - le nom de groupe
Mot de passe - Ce champe contient x, le mot de passe crypté étant dans un autre fichier accessible seulement par l'administrateur
GID - c'est un numéro qui permet au noyau d'identifier le groupe
Liste des utilisateurs - la liste des utilisateurs supplémentaires qui font partie de groupe
Passons à la pratique
Voici les données :
- groupe : local
en général à la création d'un compte le nom de group, s'il n'est pas précisé, coïncide avec le login du compte
sinon, vous pouvez choisir un nom en fonction d'un certain domaine d'activité
- GID: 10000
- liste des utilisateurs : invite
ce qui veut dire que l'utilisateur invite fait partie du groupe local
Avec ces données et en étudiant le format des entrées de /etc/group nous allons écrire dans /etc/group l'entrée pour le groupe local
Attribution du shell de connexion 
Le shell de connexion c'est le 1er programme qui s'exécute après la connexion d'utilisateur.
En général il s'agit de shell Bash, mais il y en a plusieurs.
Pour plus d'infos vous pouvez regarder ici
Création du répertoire personnel 
Pour création de répertoire personnel nous allons utiliser la commande mkdir
Mise en place des fichiers d'initialisation du shell 
Les fichiers d'initialisation du shell se trouvent dans le répertoire /etc/skel, mais sachez qu'ils peuvent être créés par vous-même.
Donc il faut copier les fichiers existants dans /etc/skell dans votre le répertoire personnel.
| # cp -v /etc/skel/.bash* /home/lami |
Attribution des droits 
Une fois le répertoire créé, il faut attribuer les droits nécessaires pour que l'utilisateur puisse accéder à son répertoire.
| # chmod -v 0755 /home/lami |
Définir le propriétaire 
L'attribution des droits n'est pas suffisante, il faut aussi définir l'utilisateur créé en tant que propriétaire de son répertoire personnel.
| # chown -vR lami:lami /home/lami |
Définition de mot de passe 
Pour activer le compte utilisateur créé, un mot de passe doit être attibué pour le compte utilisateur nouvellement créé.
Exemple complet 
- Edition de /etc/passwd
Pour l'édition je vais utiiser la commande echo au lieu d'un editeur de texte
- Edition de /etc/group
- Edition de /etc/shadow
- Création de répertoire personnel
- Copier les fichiers d'initialisation du shell
- Définition des droits et propriétaire
- Mot de passe
- Tester le compte
|