Un support qui résume l’essentiel de la gestion des utilisateurs et groupes locaux sous Linux.
A summary of the basics local users and groups management in Linux.
Tester la sécurité de votre annuaire Active Directory : top 10 des menaces et...
Gestion des utilisateurs et groupes / Users & groups management
1. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 1
A. EL MAMOUN
2. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 2
Linux étant multi-utilisateur, les personnes employant celui-ci doivent
être identifiées afin d’assurer la confidentialité.
Un utilisateur = un compte
Un utilisateur est identifié par un UID et un GID
UID = User Identifiant
GID = Groupe Identifiant
L’UID identifie l’utilisateur tout au long de sa connexion.
Il est utilisé pour le contrôle de ses droits et de ceux des processus
qu’il a lancé.
Ce sont les UID et GID qui sont stockés au sein de la table des inodes,
dans la table des processus et non les logins.
3. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 3
Les comptes utilisateur ne sont pas tous égaux sur Linux. On distingue
trois types :
Superutilisateur (root )
Comptes systèmes
Comptes ordinaires
4. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 4
Superutilisateur (root )
Il n’est pas concerné par les droits d’accès aux fichiers.
Son UID égal à 0 (zéro) lui confère sa spécificité.
Ce superutilisateur aura donc à sa charge les tâches d’administration du
système.
5. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 5
Comptes systèmes
Ceux-ci servent à faciliter la gestion des droits d’accès de certaines application
et démons.
Les UID compris entre 1 et 999 sont généralement utilisés pour ces
comptes.
Pour des raisons de sécurité, on fera on sorte que personne ne puisse se
connecter à la machine à partir de l’un de ces comptes.
Comptes ordinaires :
leur vocation est de permettre à des utilisateurs standard de se connecter.
L’UID d’un utilisateur ordinaire sera un nombre supérieur ou égal à 1000 .
6. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 6
Les utilisateurs sont stockés dans le fichier /etc/passwd
Le fichier /etc/passwd est une base de données textuelle d'informations sur les
utilisateurs qui peuvent se connecter au système.
Chaque ligne (Enregistrement ) du fichier /etc/passwd décrive un compte
Chaque enregistrement se compose de sept champs séparés par « : »
Pas de commentaires possibles.
Lisible par tous les utilisateurs, mais n'est modifiable que par root
7. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 7
Chacune des lignes du fichier /etc/passwd possède le format suivant :
login :mot-de-passe:UID:GID:gecos:repertoire:shell
Sept champs sont explicités séparés par le caractère ":"
Le nom (login) : le nom de l'utilisateur (éviter les caractères accentués). Le nom
d'utilisateur doit être unique dans le système.
Mot de passe : mot de passe chiffré ou «x» si le mot de passe est stocké dans le
fichier /etc/shadow
Le numéro d'utilisateur (UID) : identifiant entre 0 et 32767 (ou 65432 selon les
UNIX) unique de l'utilisateur
8. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 8
Sept champs sont explicités séparés par le caractère ":"
Le numéro de groupe d'utilisateurs (GID) : groupe par défaut de l'utilisateur.
Entre 0 et 32767. (ou 65432 selon les UNIX)
Le nom complet de l'utilisateur (gecos) : Un commentaire qui décrit la personne
ou le compte.
Le répertoire d'accueil (homedir ) : répertoire par défaut quand on se connecte
et à laquelle est initialisée la variable $HOME
Le shell : le shell par défaut. S'il est vide, /bin/sh sera pris.
9. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 9
Exemple
• Affichage du fichier /etc/passwd
# more /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:*:1:1:Le demon:/usr/sbin:/usr/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
student:x:1000:1000:student Test :/home/student:/bin/bash
10. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 10
La commande « useradd » permet d’ajouter un nouveau compte
Syntaxe :
adduser : lien symbolique sur useradd
La commande «userdel» modifie les fichiers des comptes du système,
en supprimant toutes les entrées qui se réfèrent à login.
useradd [options] user
• La commande suivante crée le compte robert avec la plupart des options de base précisées.
# useradd -m -u 1010 -g users -G video,dialout,lp -s /bin/bash -d /home/robert
-c "Compte de Robert" robert
# grep robert /etc/passwd
robert:x:1010:100:Compte de Robert:/home/robert:/bin/bash
11. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 11
Principales options (cumulables) :
option Rôle
-u Précise l’UID numérique de l’utilisateur. Autrement l’UID est calculé selon les
règles du fichier login.defs et les UID existants.
-g Précise le groupe principal par GID ou par son nom (variable GROUP).
-G Précise les groupes additionnels (secondaires, de l’utilisateur) séparés par des virgules
(variable GROUPS). (G Majuscule)
-d Chemin du répertoire personnel.
-c Un commentaire associé au compte.
-k Chemin du répertoire contenant le squelette de l’arborescence du répertoire utilisateur.
-s Shell par défaut de l’utilisateur (variable SHELL).L’utilisateur peut le changer via la
commande chsh.
-m création du répertoire personnel et recopie du /etc/skel dans le répertoire personnel.
-p mot de passe déjà crypté avec crypt.
-e date d'expiration du login (YYYY-MM-DD)
-f délai avant verrouillage si mot de passe non changé
12. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 12
La commande « usermod » modifie les informations d'un compte
utilisateur.
Syntaxe :
Ne pas modifier l'uid pendant que l'utilisateur exécute une application
Accepte les mêmes options que la commande useradd
Mais dispose aussi des options particulières
usermod [options] user
Option Rôle
-L Lock du compte (verrouillage), comme passwd l.
-U Unlock du compte (déverrouillage), comme passwd u.
-e <n> Expire: le mot de passe expire n jours après le 01/01/1970.
u <UID> Modifie l’UID associé au login. Le propriétaire des fichiers appartenant à l’ancien UID a
u sein du répertoire personnel est modifié en conséquence.
l <login> Modifie le nom de login.
-m Move : implique la présence de d pour préciser un nouveau répertoire personnel.
Le contenu de l’ancien répertoire est déplacé dans le nouveau.
13. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 13
Un utilisateur appartient à :
un groupe primaire
plusieurs groupes secondaires éventuels
Souvent, à chaque utilisateur correspond un groupe :
dont le GID est identique à l'UID de l'utilisateur ;
dont le nom est le même que celui de l'utilisateur ;
qui est le groupe primaire de l'utilisateur. (Unique Private Group)
Les groupes associés à un utilisateur sont utilisés pour les contrôles
d'accès
Les groupes systèmes permettent souvent aux utilisateurs de manipuler
des devices (dialout, fax,audio, ...)
14. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 14
Les attributs qui caractérisent un groupe Unix/Linux sont :
un nom (unique);
un mot de passe (souvent jamais utilisé) ;
un identifiant numérique unique (GID) ;
une liste d'utilisateurs membres qui n'ont pas ce groupe par défaut.
L'ensemble de ces éléments est stocké dans le fichier /etc/group au
format texte.
Les commandes groupadd, groupdel, groups, newgrp permettent de
manipuler les groupes
Groupe:mot-de-passe :gid :membres
15. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 15
La commande «groupadd» permet de créer un groupe sur le système.
Syntaxe :
Accepte l’argument -g pour préciser un GID précis
La commande « groupmod» permet de modifier un groupe.
Ses paramètres sont les suivants :
groupadd [options] user
option Rôle
n <nom> Renomme le groupe.
g <GID> Modifie le GID. Attention, le groupe d’appartenance des fichiers concernés n’est pas
modifié.
A <user> Ajoute l’utilisateur spécifié dans le groupe (groupe secondaire).
R <user> Supprime l’utilisateur spécifié du groupe.
16. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 16
La commande « groupdel » supprime un groupe.
Le groupe ne peut pas être supprimé si c’est un groupe principale d’un utilisateur.
La commandes «groups» permet de vérifier l'appartenance à un groupe
Affiche les groupes auxquels l'utilisateur appartient
La commande newgrp permet de changer à titre temporaire le groupe
principal
À Condition que le nouveau groupe précisé soit un groupe secondaire de
l’utilisateur et/ou que l’utilisateur dispose du mot de passe du groupe.
Les modifications sont temporaires, le fichier des mots de passe n’est pas
modifié.
17. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 17
Lors de la création d’un utilisateur des options et des paramètres sont
utilisées par défaut.
Le fichier /etc/default/useradd : contient les options de création par
défaut
Le fichier /etc/login.defs : contient des paramètres de création
du compte utilisateur
Le répertoire /etc/skel : modèle de création des répertoires utilisateur
18. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 18
Le répertoire /etc/skel (skeleton : squelette) contient les fichiers par
défaut (l’environnement de l’utilisateur ) à copier dans les répertoires
de travail des utilisateurs nouvellement créés.
L’environnement contient par exemple les alias, les variables d’environnement,
l’exécution de divers scripts.
Lors de la création d’un compte, les divers fichiers de configuration sont copiés
depuis le contenu du répertoire /etc/skel (skeleton) vers le répertoire personnel
Si vous souhaitez modifier les environnements de façon globale AVANT la création
des utilisateurs, vous pouvez placer dans /etc/skel tous les fichiers que vous
souhaitez et les modifier selon votre convenance.
19. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 19
Le fichier /etc/default/useradd contient les paramètres par défaut de la
commande useradd :
$ cat /etc/defaults/useradd
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
GROUPS=video,dialout
CREATE_MAIL_SPOOL=no
Groupe principal
Racine de son répertoire personnel
Shell de connexion par défaut
Répertoire squelette (Profil) par défaut
Date d’expiration du compte
Nombre de jours
pendant lesquels
le compte devrait
être inactif après
la création , ”-1”
veut dire toujours
active.
La création ou non d’un spool (dépôt) de
courrier
groupes secondaires
20. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 20
• Examiner les paramètres par défaut de la commande useradd
# useradd -D
GROUP=1
HOME=/home
INACTIVE=0
EXPIRE=0
SHELL=
SKEL=/etc/skel
• Changement des paramètres par défaut de la commande useradd
# useradd -D -g 100 -e 60 –f 0 -s /bin/bash
# useradd -D
GROUP=100
HOME=/home
INACTIVE=0
EXPIRE=60
SHELL=/bin/bash
SKEL=/etc/skel
21. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 21
Le fichier /etc/login.defs est utilisé par de nombreuses commandes
comme login, useradd, groupadd, passwd pour définir quelques valeurs
par défaut et la validité des logins. (Voir TP)
Une règle de validité des comptes (caractères autorisés, longueur, etc.
Les UID min et max lors de la création d’un utilisateur,
Les GID min et max lors de la création d’un groupe,
Les commandes à appeler pour les ajouts/modifications/créations
d’utilisateur,
Les règles par défaut pour la validité des mots de passe,
La création ou non d’un répertoire personnel,
etc.
22. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 22
# trois tentatives de login en cas de mauvais mot de masse
LOGIN_RETRIES 3
# Timeout de 60 secondes
LOGIN_TIMEOUT 60
# Emplacement du motd (ou des , séparés par des :)
MOTD_FILE /etc/motd
# type des terminaux par défaut
TTYTYPE_FILE /etc/ttytype
# Permission par défaut des terminaux
TTYGROUP tty
TTYPERM 0620
# Réclame ou non un mot de passe pour chsh et chfn
CHFN_AUTH yes
# Restriction du chfn (f:nom, r:bureau, w:tel travail, h:tel maison)
CHFN_RESTRICT rwh
23. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 23
# Login autorisé meme si l’accès au home est impossible
DEFAULT_HOME yes
# Path par défaut pour la commande login
ENV_PATH /usr/local/bin:/usr/bin:/bin
# Idem pour la connexion root
ENV_ROOTPATH /sbin:/bin:/usr/sbin:/usr/bin
# Délai en secondes entre deux tentatives de login
FAIL_DELAY 3
# Les utilisateurs dans le fichier ne voient pas les messages de cnx
HUSHLOGIN_FILE /etc/hushlogins
# Affiche la date de dernière connexion
LASTLOG_ENAB yes
# Les tentatives de connexion des logins inexistants sont tracées
LOG_UNKFAIL_ENAB no
24. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 24
UID_MIN 500
UID_MAX 60000
# Min/max values for automatic gid selection in groupadd
#
# SYSTEM_GID_MIN to SYSTEM_GID_MAX inclusive is the range for
# GIDs for dynamically allocated administrative and system groups.
# GID_MIN to GID_MAX inclusive is the range of GIDs of dynamically
# allocated groups.
#
SYSTEM_GID_MIN 100
SYSTEM_GID_MAX 499
GID_MIN 500
GID_MAX 60000
# Regexp pour les noms de logins autorisés via login/useradd
CHARACTER_CLASS [A-Za-z_][A-Za-z0-9_.-]*[A-Za-z0-9_.$-]?
# Umask par défaut pour la création du homedir
UMASK 022
25. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 25
Les mots de passe sont stockés dans le fichier /etc/shadow
Le nom de l'utilisateur
Le mot de passe chiffré
La date du dernier changement de mot de passe (en nombre de jours depuis
le 1er janvier 1970).
Le nombre de jours avant que le mot de passe ne puisse être changé (un 0
indique qu'il peut être changé à n'importe quel moment).
• Contenu du fichier /etc/shadow
# more /etc/shadow
root:$wLRWth.FdTUsCBfd2cLkBGCkZ.10:16685:0:99999:7: : :
ludo:$6$v7Al1Vf6rbguXNiZ$X8Lh3zSSvjXJ:0:99999:7: : :
26. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 26
Les mots de passe sont stockés dans le fichier /etc/shadow
Le nombre maximum de jours de validité du mot de passe (99999 indique que
l'utilisateur peut garder son mot de passe inchangé)
Le nombre de jours avant l'expiration du mot de passe à partir duquel l'utilisateur
est averti
Le nombre de jours avant de désactiver le compte après expiration du mot
de passe
Le nombre de jours depuis le 1er Janvier 1970 pendant lesquels un compte a été
désactivé
• Contenu du fichier /etc/shadow
# more /etc/shadow
root:$wLRWth.FdTUsCBfd2cLkBGCkZ.10:16685:0:99999:7: : :
ludo:$6$v7Al1Vf6rbguXNiZ$X8Lh3zSSvjXJ:0:99999:7: : :
27. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 27
Les mots de passe sont stockés dans le fichier /etc/shadow
Le nombre de jours depuis le 1er Janvier 1970 pendant lesquels un compte a été
désactivé
Un champ réservé pour une utilisation future possible
Il n'est pas possible de se loguer directement si le mot de passe est '*'
ou '!!‘
• Contenu du fichier /etc/shadow
# more /etc/shadow
root:$wLRWth.FdTUsCBfd2cLkBGCkZ.10:16685:0:99999:7: : :
ludo:$6$v7Al1Vf6rbguXNiZ$X8Lh3zSSvjXJ:0:99999:7: : :
28. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 28
La commande passwd permet de changer un mot de passe.
Tout utilisateur a le droit de changer son mot de passe, dans le délai précisé par le 4
champ de /etc/shadow.
Tous les champs de /etc/shadow peuvent être modifiés par la commande passwd.
Option Rôle
l Lock : verrouille le compte en rajoutant un ! devant le mot de passe crypté.
u unlock: déverrouille le compte. Il n’est pas possible de déverrouiller un compt
e qui n’a pas de mot de passe, il faut utiliser en plus f pour cela.
d (root) Supprime le mot de passe du compte.
n <j> (root) Durée de vie minimale en jours du mot de passe.
x <j> (root) Nombre de jours avant avertissement.
w <j> Move : implique la présence de -
d pour préciser un nouveau répertoire personnel.
Le contenu de l’ancien répertoire est déplacé dans le nouveau.
i <j> (root) Délai de grâce avant désactivation si le mot de passe est expiré.
-S (root) Statut du compte.
29. L’essentiel de l’administration
A.EL MAMOUN Administration d’un système Linux
Chapitre 1 : Gestion des utilisateurs et groupes
Page 29
Redhat 7 dispose désormais d'une bibliothèque configurable unique,
pam_pwquality.so, pour vérifier la qualité des nouveaux mots de passe
utilisés par les comptes du système
Cette bibliothèque est configurée en modifiant le fichier de configuration
/etc/security/pwquality.conf
Avant Redhat 7, la gestion de sécurité des mots de passe était gérée par une
librairie PAM : la librairie pam_cracklib.so
La commande pwscore vérifie la qualité du mot de passe
La commande pwmake permet de créer des mots de passe