Opérations sur les utilisateurs et les groupes
Dans ce chapitre on expose des opérations courantes sur les utilisateurs et les groupes comme :
- Créer un nouvel utilisateur avec
useradd
- Définir un mot de passe avec
passwd
- Créer de nouveaux groupes
- Ajouter un utilisateur à un groupe
- Modifier les paramètres utilisateur et groupe
- Verrouiller un compte
- Modifier l’expiration du mot de passe
- Supprimer un compte et un groupe
Pour toutes ces opérations vous devez disposer des droits root.
1. Créer un utilisateur
On utilise la commande /usr/sbin/useradd
pour créer les nouveaux comptes utilisateurs.
La commande adduser
est un lien symbolique qui pointe vers useradd sous RHEL/Centos. Sur les systèmes Debian adduser
un script perl qui utilise useradd.
Quand elle est invoquée sans l’option
-D
, la commandeuseradd
crée un nouveau compte utilisateur qui utilise les valeurs indiquées sur la ligne de commande et les valeurs par défaut du système. En fonction des options de la ligne de commande, la commandeuseradd
fera la mise à jour des fichiers du système, elle pourra créer le répertoire personnel et copier les fichiers initiaux. Source : page man deuseradd
Syntaxe de la commande useradd
:
useradd [options] identifiant
Exercice
Exemple : ajouter l’utilisateur tintin (en tant que root ou avec sudo
)
useradd tintin
Si vous utilisez cette commande sans option, les valeurs par défaut sont utilisées (sous Centos 7, notamment un groupe principal du même nom est créé ainsi que son répertoire personnel).
2. Commande useradd
: options par défaut
Exercice
Vous pouvez afficher ces valeurs avec useradd -D
, sous RHEL/Centos :
useradd –D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
Note : Vous trouverez également ces informations dans le fichier /etc/default/useradd
.
3. Commande useradd
: options
On ira utilement lire la page manuel de useradd
man useradd
Les options de useradd
sont nombreuses.
Exercice
Par exemple, sur un système RHEL/Centos :
useradd -d /home/tintin -G wheel,tintin -s /bin/sh milou
Cette dernière commande ajoute l’utilisateur milou dans les groupes secondaires wheel
et tintin
avec /bin/sh
comme shell.
Que donne la commande id milou
?
4. Répertoire squelette
Le répertoire squelette contient les fichiers et répertoires qui seront copiés dans le répertoire personnel de l’utilisateur au moment de sa création.
Exercice
Selon les paramètres du système :
ls -la /etc/skel/
total 24
drwxr-xr-x. 3 root root 74 8 déc 21:03 .
drwxr-xr-x. 122 root root 8192 16 jan 23:44 ..
-rw-r--r--. 1 root root 18 26 sep 03:53 .bash_logout
-rw-r--r--. 1 root root 193 26 sep 03:53 .bash_profile
-rw-r--r--. 1 root root 231 26 sep 03:53 .bashrc
drwxr-xr-x. 4 root root 37 4 jui 2014 .mozilla
5. Définir un mot de passe
Exercice
C’est la commande passwd
qui met à jour le mot de passe de l’utilisateur :
passwd tintin
6. Ajouter un groupe
Exercice
On peut ajouter des groupes facilement avec groupadd
:
groupadd marketing
Exercice
On peut ajouter un utilisateur à un groupe avec gpasswd
:
gpasswd -a milou marketing
Exercice
On peut ajouter un utilisateur à un groupe wheel
(pour devenir sudoer sous RHEL/Centos) :
gpasswd -a francois wheel
Exercice
On peut retirer un utilisateur d’un groupe :
gpasswd -d milou marketing
7. Modifier les paramètres utilisateur
On change les paramètres des groupes avec le programme usermod
.
Les options de usermod
sont (voir man usermod
) :
-d répertoire utilisateur
-g définit le GID principal
-l identifiant utilisateur
-u UID utilisateur
-s shell par défaut
-G ajoute l’utilisateur à des groupes secondaires
-m déplace le contenu du répertoire personnel vers le nouvel emplacement
Exercice
Par exemple :
usermod -d /home/francois -a -G francois milou
8. Modifier les paramètres d’un groupe
C’est le programme groupmod
qui permet de changer les paramètres d’un groupe. On connaît entre autres les options suivantes :
-g GID
-n nom du groupe
9. Verrouiller un compte
On peut verrouiller un compte utilisateur de plusieurs manières.
En préfixant le mot de passe dans /etc/passwd
par un “!”. Si vous utilisez les mots de passe masqués shadow, remplacez x
par un *
.
C’est ce que font les commandes suivantes :
- pour verrouiller
passwd -l
ouusermod -L
- pour déverrouiller
passwd -u
ouusermod -U
De plus, il est également possible de supprimer le mot de passe avec passwd -d
.
Enfin, on peut attribuer l’interpréteur /bin/false
à l’utilisateur dans /etc/passwd
.
Exercice
Vérouiller tous les comptes créés lors de cette leçon.
10. Modifier l’expiration du mot de passe
La commande chage
modifie le nombre de jours entre les changements de mot de passe et la date du dernier changement. Ces informations sont utilisées par le système pour déterminer si un utilisateur doit changer son mot de passe. Pour les lister les paramètres d’un utilisateur :
chage -l francois
Pour les détails :
man chage
Notons que :
- La date est soit en jours UNIX, soit au format YYYY/MM/DD.
- Tous ces délais sont dans le fichier
/etc/shadow
et peuvent être modifiés manuellement.
11. Suppression d’un compte et d’un groupe
On peut supprimer un compte utilisateur avec la commande userdel
. Pour s’assurer de la suppression du répertoire utilisateur, utilisez l’option -r
.
userdel -r tintin
Quelles seraient les opérations manuelles alternatives ?
Exercice
Supprimer tous les comptes créés lors de cette leçon.
12. Exercice : utilisateurs
Créer un utilisateur alpha avec comme politique de mot de passe une obligation de le changer à la prochaine connexion avec un âge maximum et une période d’inactivité de 30 jours et d’une longueur minimale de 12 caractères (chercher sur “Password Quality Checking”).
sudo chage -d 0 -M 30 -I 30 alpha
sudo chage -l alpha