3.3. Utiliser des outils de ligne de commande
À l'exception de l'outil de configuration de Users décrit dans la Section 3.2, « Gestion des utilisateurs dans un environnement graphique », qui est conçu pour la gestion de base des utilisateurs, il est possible d'utiliser des outils de ligne de commande pour gérer les utilisateurs et les groupes répertoriés dans la Tableau 3.1, « Utilitaires en ligne de commande pour gérer les utilisateurs et les groupes ».
Utilitaires | Description |
---|---|
id | Affiche les ID d'utilisateur et de groupe. |
useradd , usermod , userdel | Utilitaires standard pour ajouter, modifier, et supprimer des comptes utilisateur. |
groupadd , groupmod , groupdel | Utilitaires standard pour ajouter, modifier, et supprimer des groupes. |
gpasswd | Utilitaire utilisé surtout pour modifier le mot de passe du groupe dans le fichier /etc/gshadow utilisé par la commande newgrp . |
pwck , grpck | Utilitaires pouvant être utilisés pour la vérification du mot de passe, du groupe et des fichiers cachés associés. |
pwconv , pwunconv | Utilitaires pouvant être utilisés pour la conversion de mots de passe en mots de passe cachés, ou au contraire de mots de passe cachés en mots de passe standard. |
grpconv , grpunconv | De manière similaire à ce qui précède, ces utilitaires peuvent être utilisés pour la conversion d'informations cachées pour les comptes de groupe. |
3.3.1. Ajout d'un nouvel utilisateur
Pour ajouter un nouvel utilisateur sur le système, veuillez saisir ce qui suit dans une invite de shell en tant qu'utilisateur
root
:
useradd
[options] username
…où les options sont des options de ligne de commande comme décrit dans la Tableau 3.2, « Options de ligne de commande useradd communes ».
Par défaut, la commande
useradd
crée un compte utilisateur verrouillé. Pour déverrouiller le compte, veuillez exécuter la commande suivante en tant qu'utilisateur root
pour assigner un mot de passe :
passwd
username
Optionnellement, vous pouvez définir une politique d'ancienneté de mot de passe. Veuillez consulter la section Sécurité du mot de passe du Guide de sécurité Red Hat Enterprise Linux 7 .
Option | Description |
---|---|
-c 'comment' | comment peut être remplacé par n'importe quelle chaîne. Cette option est généralement utilisée pour spécifier le nom complet d'un utilisateur. |
-d home_directory | Répertoire personnel à utiliser à la place de /home/username/ . |
-e date | Date à laquelle le compte sera désactivé sous le format YYYY-MM-DD. |
-f days | Nombre de jours après l'expiration du mot de passe avant que le compte soit désactivé. Si 0 est spécifié, le compte est désactivé immédiatement après l'expiration du mot de passe. Si -1 est spécifié, le compte n'est pas désactivé après l'expiration du mot de passe. |
-g group_name | Nom de groupe ou numéro de groupe du groupe (principal) par défaut de l'utilisateur. Le groupe doit exister avant d'être spécifié ici. |
-G group_list | Liste des noms ou numéros de groupes supplémentaires (autres que ceux par défaut), séparés par des virgules, dont l'utilisateur est membre. Les groupes doivent exister avant d'être spécifiés ici. |
-m | Créer le répertoire personnel s'il n'existe pas. |
-M | Ne pas créer de répertoire personnel. |
-f | Ne pas créer de groupe privé d'utilisateurs pour l'utilisateur. |
-p password | Mot de passe chiffré avec crypt . |
-r | Entraîne la création d'un compte système avec un ID utilisateur (UID) inférieur à 1000 et sans répertoire personnel. |
-s | Shell de connexion de l'utilisateur, qui est par défaut /bin/bash . |
-u uid | ID utilisateur de l'utilisateur, qui doit être unique et supérieur à 999. |
Les options de ligne de commande associées à la commande
usermod
sont essentiellement les mêmes. Remarquez que si vous souhaitez ajouter un utilisateur à un autre groupe supplémentaire, vous devrez utiliser l'option -a, --append
avec l'option -G
. Sinon, la liste des groupes supplémentaires de l'utilisateur sera remplacée par ceux spécifiés par la commande usermod -G
.
Important
La gamme des ID par défaut des utilisateurs normaux et système a été modifiée dans Red Hat Enterprise Linux 7 comparé aux versions antérieures. Auparavant, les UID 1 à 499 étaient utilisés pour les utilisateurs système et des valeurs supérieures étaient utilisées pour les utilisateurs normaux. La gamme par défaut des maintenant de 1-999 pour les utilisateurs système. Ce changement peut causer des problèmes lors de la migration vers Red Hat Enterprise Linux 7 avec des utilisateurs existants pouvant avoir des UID et des GID entre 500 et 999. Les gammes par défaut des UID et GID peuvent être modifiées dans le fichier
/etc/login.defs
.
Explication du processus
Les étapes suivantes illustrent ce qu'il se produit si la commande
useradd juan
est exécutée sur un système sur lequel les mots de passe cachés sont activés :
- Une nouvelle ligne pour
juan
est créée dans/etc/passwd
:juan:x:1001:1001::/home/juan:/bin/bash
La ligne possède les caractéristiques suivantes :- Celle-ci commence par le nom d'utilisateur
juan
. - Un
x
se trouve dans le champ du mot de passe, indiquant que le système utilise des mots de passe cachés. - Un UID supérieur à 999 est créé. Dans Red Hat Enterprise Linux 7, les UID inférieurs à 1000 sont réservés à l'utilisation système et ne doivent pas être assignés aux utilisateurs.
- Un GID supérieur à 999 est créé. Dans Red Hat Enterprise Linux 7, les GID inférieurs à 1000 sont réservés à l'utilisation système et ne doivent pas être assignés aux utilisateurs.
- Les informations optionnelles GECOS sont laissées vides. Le champ GECOS peut être utilisé pour fournir des informations supplémentaires sur l'utilisateur, comme son nom complet ou son numéro de téléphone.
- Le répertoire personnel de
juan
est défini sur/home/juan/
. - Le shell par défaut est défini sur
/bin/bash
.
- Une nouvelle ligne pour
juan
est créée dans/etc/shadow
:juan:!!:14798:0:99999:7:::
La ligne possède les caractéristiques suivantes :- Celle-ci commence par le nom d'utilisateur
juan
. - Deux points d'exclamation (
!!
) apparaissent dans le champ du mot de passe du fichier/etc/shadow
, qui verrouille le compte.Note
Si un mot de passe chiffré est saisi en utilisant l'indicateur-p
, il sera placé dans le fichier/etc/shadow
sur la nouvelle ligne pour l'utilisateur. - Le mot de passe est paramétré de manière à ne jamais expirer.
- Une nouvelle ligne pour un groupe nommé
juan
est créée dans/etc/group
:juan:x:1001:
Un groupe avec le même nom qu'un utilisateur est appelé un groupe privé d'utilisateurs. Pour obtenir davantage d'informations sur les groupes privés d'utilisateurs, veuillez consulter la section Section 3.1.1, « Groupes privés d'utilisateurs ».La ligne créée dans/etc/group
possède les caractéristiques suivantes :- Celle-ci commence par le nom de groupe
juan
. - Un
x
apparaît dans le champ du mot de passe, indiquant que le système utilise des mots de passe de groupe cachés. - Le GID correspond à celui qui est répertorié pour le groupe principal de
juan
dans/etc/passwd
.
- Une nouvelle ligne pour un groupe nommé
juan
est créée dans/etc/gshadow
:juan:!::
La ligne possède les caractéristiques suivantes :- Celle-ci commence par le nom de groupe
juan
. - Un point d'exclamation (
!
) apparaît dans le champ du mot de passe du fichier/etc/gshadow
, qui verrouille le groupe. - Tous les autres champs sont vierges.
- Un répertoire pour l'utilisateur
juan
est créé dans le répertoire/home
:~]#
ls -ld /home/juan
drwx------. 4 juan juan 4096 Mar 3 18:23 /home/juanCe répertoire appartient à l'utilisateurjuan
et au groupejuan
. Il possède les privilèges read (lecture), write (écriture), et execute (exécution) uniquement pour l'utilisateurjuan
. Toutes les autres permissions sont refusées. - Les fichiers dans le répertoire
/etc/skel/
(qui contient les paramètres par défaut de l'utilisateur) sont copiés dans le nouveau répertoire/home/juan/
:~]#
ls -la /home/juan
total 28 drwx------. 4 juan juan 4096 Mar 3 18:23 . drwxr-xr-x. 5 root root 4096 Mar 3 18:23 .. -rw-r--r--. 1 juan juan 18 Jun 22 2010 .bash_logout -rw-r--r--. 1 juan juan 176 Jun 22 2010 .bash_profile -rw-r--r--. 1 juan juan 124 Jun 22 2010 .bashrc drwxr-xr-x. 4 juan juan 4096 Nov 23 15:09 .mozilla
À ce moment, un compte verrouillé nommé
juan
existe sur le système. Pour l'activer, l'administrateur doit assigner un mot de passe au compte en utilisant la commande passwd
et optionnellement, paramétrer des directives concernant l'ancienneté du mot de passe (veuillez consulter la section Sécurité du mot de passe dans le Guide de sécurité Red Hat Enterprise Linux 7 pour obtenir des détails supplémentaires).
3.3.2. Ajout d'un nouveau groupe
Pour ajouter un nouveau groupe au système, veuillez saisir ce qui suit dans l'invite de shell en tant qu'utilisateur
root
:
groupadd
[options] group_name
…où les options sont des options de ligne de commande comme décrit dans la Tableau 3.3, « Options de ligne de commande groupadd communes ».
Option | Description |
---|---|
-f , --force | Lorsqu'utilisé avec -g gid et que gid existe déjà, groupadd choisira un nouveau gid unique pour le groupe. |
-g gid | ID de groupe du groupe, qui doit être unique et supérieur à 999. |
-K , --key key=value | Remplace les valeurs par défaut de /etc/login.defs . |
-o , --non-unique | Permet la création de groupes avec un GID dupliqué. |
-p , --password password | Utilise ce mot de passe chiffré pour le nouveau groupe. |
-r | Entraîne la création d'un groupe système avec un GID inférieur à 1000. |
3.3.3. Création de répertoire de groupes
Les administrateurs système préfèrent habituellement créer un groupe pour chaque projet majeur et assigner des personnes à ce groupe lorsqu'elles ont besoin d'accéder aux fichiers de ce projet. Avec ce schéma traditionnel, la gestion de fichiers est difficile. Lorsque quelqu'un crée un fichier, celui-ci est associé au groupe principal auquel il appartient. Lorsqu'une seule personne travaille sur de multiples projets, il devient difficile d'associer les fichiers corrects au bon groupe. Cependant, avec le schéma UPG, les groupes sont automatiquement assignés aux fichiers créés dans un répertoire sur lequel setgid est défini. « Setgid » rend la gestion des projets de groupes qui partagent un répertoire commun très simple car tout fichier créé par un utilisateur dans le répertoire appartiendra au groupe propriétaire de ce répertoire.
Par exemple, un groupe de personnes a besoin de travailler sur des fichiers du répertoire
/opt/myproject/
. Il est fait confiance à certaines personnes pour modifier le contenu de ce répertoire, mais pas à tout le monde.
- En tant qu'utilisateur
root
, veuillez créer le répertoire/opt/myproject/
en saisissant ce qui suit dans l'invite de shell :mkdir /opt/myproject
- Ajoutez le groupe
myproject
au système :groupadd myproject
- Associez le contenu du répertoire
/opt/myproject/
au groupemyproject
:chown root:myproject /opt/myproject
- Autorisez les utilisateurs du groupe à créer des fichiers dans le répertoire et paramétrez le setgid :
chmod 2775 /opt/myproject
À ce moment, tous les membres du groupemyproject
peuvent créer et modifier des fichiers dans le répertoire/opt/myproject/
sans que l'administrateur ne soit obligé de modifier les permissions de fichier à chaque fois qu'un utilisateur écrit un nouveau fichier. Pour vérifier si les permissions ont été paramétrées correctement, veuillez exécuter la commande suivante :~]#
ls -ld /opt/myproject
drwxrwsr-x. 3 root myproject 4096 Mar 3 18:31 /opt/myproject - Ajoutez les utilisateurs au groupe
myproject
:usermod -aG myproject username