Chap4 Gestion Des Utilisateurs Et Des Groupes Sous Redhat

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 10

.

Gestion des utilisateurs et groupes sous Redhat

Objectifs du cours
Après avoir terminé ce chapitre, les étudiants devraient être en mesure d'expliquer le rôle
des utilisateurs et des groupes sur un système Linux et comment ils sont gérés par
l'administrateur.

Public cible

Les étudiants du Mastère professionnelle en Réseaux et Télécommunication de la Faculté


des Sciences de Tunis présentiel et en ligne
Conditions préalables

Il n'y a pas de conditions préalables formelles pour ce cours; cependant, une expérience
d'administration système précédente sur d'autres systèmes d'exploitation sera très bénéfique.
Orientation vers l'environnement de la classe
Dans ce cours, les étudiants feront la plupart des exercices pratiques et des travaux de
laboratoire avec des machines virtuelles. Ces machines ont le nom d’hôte Desktop.FST.tn et
le nom d’utilisateur Etudiant. Chaque étudiant doit accéder au système installé avec le mot de
passe « etudiant ». Le mot de passe root est « redhat ».
Les systèmes utilisés seront installés sur des machines virtuelles s’exécutant sur la
machine physique de chaque étudiant. Les étudiants doivent se connecter à cette machine en
utilisant le mot de passe « redhat » et par deux façons ; soit à l’intermédiaire de la console de
l’application de virtualisation utilisée, soit par l’intermédiaire de l’outil putty ou similaire.

Préparé par Faker LANDOLSI | MPSRT-FST 1


Chapitre I : Introduction au système d’exploitation Linux .
.

Introduction
Chaque processus (programme en cours d'exécution) sur le système s'exécute en tant
qu'utilisateur particulier. Chaque fichier ou répertoire appartient à un utilisateur particulier
dont l'accès aux est restreint à un utilisateur particulier. L'utilisateur associé à un processus
d'exécution détermine les fichiers et les répertoires accessibles à ce processus.

Informations relatives aux utilisateurs


La commande id est utilisée pour afficher des informations de l’utilisateur en cours
d'utilisation. Les informations basiques d'un autre utilisateur peuvent être accessibles en
introduisant comme argument le nom d’utilisateur voulu avec la commande id.

[etudiant@desktop ~]$ id
uid=1000(etudiant) gid=1000(etudiant) groupes=1000(etudiant)
contexte=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Pour voir le l’utilisateur associé à un fichier ou un dossier il suffit de taper la commande


ls –l, ou l’utilisateur associé apparaitra a la troisième colonne.

[etudiant@desktop ~]$ ls –l /tmp


drwx------. 2 user user 17 02 oct. 12:27 orbit-user
drwx------. 2 etudiant etudiant 17 02 oct. 12:27 orbit-etudiant
drwx------. 1 root root 17 02 oct. 12:28 postconf

En général pour voir les processus en cours sous un shell linux on tape la commande ps,
et pour afficher plus de détails on peut ajouter l’option « a » mais si on veut voir l’utilisateur
associé on doit ajouter l’option « u » dont l’utilisateur apparaitra à la première colonne de
l’affichage.

[etudiant@desktop ~]$ ps au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
etudiant 5557 0.0 0.6 340516 12760 tty2 Ssl+ nov.10 0:00 /usr/libexec/
etudiant 5566 0.0 0.9 732848 18228 tty2 Sl+ nov.10 0:00 /usr/libexec/gnome-session-binary
etudiant 5643 0.1 22.1 3075316 413012 tty2 Sl+ nov.10 3:21 /usr/bin/gnome-shell
etudiant 5673 0.0 2.6 562184 49304 tty2 Sl+ nov.10 0:00 /usr/bin/Xwayland :0 -rootless -terminate
etudiant 5692 0.0 0.5 389364 10884 tty2 Sl nov.10 0:09 ibus-daemon --xim --panel disable
etudiant 5697 0.0 0.4 303204 8768 tty2 Sl nov.10 0:00 /usr/libexec/ibus-dconf
etudiant 5698 0.0 1.4 437228 26768 tty2 Sl nov.10 0:01 /usr/libexec/ibus-extension-gtk3
etudiant 5703 0.0 3.3 836684 62352 tty2 Sl nov.10 0:00 /usr/libexec/ibus-x11 --kill-daemon
etudiant 5789 0.0 1.4 622156 27232 tty2 Sl+ nov.10 0:00 /usr/libexec/gsd-power
etudiant 5790 0.0 0.6 362808 12000 tty2 Sl+ nov.10 0:00 /usr/libexec/gsd-print-notifications

En appliquant la commande précédante on a identifié les utilisateurs par leurs noms mais
à l’intérieur du système d’exploitation les utilisateurs sont identifiés par leurs identifiant uid
qui est stocké à la base de donnée système qui admet tous les informations necessaires pour
les utilisateurs. Par defaut le système utilise le « flat file » pour stoquer les informations dans
le fichier /etc/passwd. L’affichage dans ce fichier sera sous forme de 7 colonnes séparés par
deux points.

Préparé par Faker LANDOLSI | MPSRT-FST 2


Chapitre I : Introduction au système d’exploitation Linux .
.

(1)Username : (2)password : (3)UID : (4)GID : (5)GECOS : (6)/home/dir : (7)shell

(1) username c’est le nom d’utilisateur sera affiché comme il est écrit sous le système

(2) password c’est dans cet emplacement qu’historiquement les mots de passe ont été stockés
de manière chiffrée mais par la suite avec l’évolution du système Redhat ils sont devenus
stockés au fichier /etc/shadow

(3) UID c’est le numéro utilisé par le système pour identifier l’utilisateur.

(4) GID c’est l’identifiant du groupe primaire associé à l’utilisateur.

(5) GECOS c’est un champ arbitraire utilisé pour afficher le vrai nom de l’utilisateur.

(6) /home/dir c’est le répertoire personnel ou seront stocké tous ses données et fichiers de
config.

(7) shell c’est le programme associé à l’utilisateur pour utiliser les commandes appropriés.

Groupes de travail

Les groupes comme leurs noms l’indiquent elles servent pour regrouper les utilisateurs
qui ont des caractéristiques en communs. Chaque groupe possède un identifiant appelé GID.
Groupes primaires :
 Chaque utilisateur a un groupe primaire.
 Pour les utilisateurs locaux, le groupe primaire est défini par le GID a la troisième
colonne du fichier /etc/passwd.
 Normalement le groupe primaire est propriétaire des nouveaux fichiers crées.
 Normalement le groupe primaire d’un nouveau utilisateur crée sera un groupe portant le
meme nom de l’utilisateur. L’utilisateur dans ce cas sera le seul membre du groupe
appelé User Private Group (UPG).
Groupes supplémentaires :
 Les utilisateurs peuvent être membres de zéro ou plus groupes supplémentaires.
 Les utilisateurs qui sont les membres supplémentaires du groupe local sont répertoriés
dans le dernier champ du groupe au fichier /etc/group. Pour les groupes locaux,
l'adhésion des utilisateurs est déterminée par une liste d'utilisateurs séparée par des
virgules qui se situent au dernier champ du fichier /etc/group :
Groupname : password : GID : list,of,users,in,this,group

Préparé par Faker LANDOLSI | MPSRT-FST 3


Chapitre I : Introduction au système d’exploitation Linux .
.

 L'adhésion à un groupe supplémentaire est utilisée pour s'assurer que les utilisateurs ont
le droit d’accéder aux fichiers et à d'autres ressources sur le système.
Le Super Utilisateur root

La plupart des systèmes d’exploitation utilisent la notion du super utilisateur qui possède
le pouvoir total sur tout le système appelé pour les systèmes linux tel que Redhat l’utilisateur
root.

Cet utilisateur a le pouvoir total sur les systèmes de fichiers, il est utilisé pour gérer les
fichiers et les répertoires système et effectuer les tâches d’administration telles que
l'installation ou la suppression de logiciels, pour cela les privilèges de cet utilisateur doivent
être élevés.

La plupart des périphériques sont exclusivement gérés par l’utilisateur root à l’exception
de quelques-uns tel que le flash USB qui peut être ajouté et géré par un simple utilisateur.

Ces super pouvoirs ne doivent pas être disponible à tous les utilisateurs pour cela ils
peuvent à chaque fois qu’ils ont besoin d’exécuter quelques taches en prenant
momentanément ces pouvoir afin de pas endommager le système.

La commande su

La commande su permet à un utilisateur de basculer vers un compte d'utilisateur


différent. Si aucun nom d’utilisateur n’est indiqué comme argument alors le basculement se
fait vers l’utilisateur root, par la suite une demande d’introduction du mot de passe du compte
en question sera affichée.

[etudiant@desktop ~]$ su -
Password : redhat
[root@desktop ~]#

La commande su username commence un shell sans connexion, tandis que la commande


su - username commence une connexion shell. La principale indistinction est que su -
configure l'environnement shell comme s'il s'agissait d'une connexion propre en tant
qu'utilisateur, tandis que su Commence juste en tant qu'utilisateur avec les paramètres
d'environnement actuels.
Exécuter des commandes en tant que root avec sudo

La commande sudo permet à un utilisateur d'être autorisé à exécuter des processus en


étant un super utilisateur tel que root ou autres utilisateurs privilégiés, cette méthode est basée

Préparé par Faker LANDOLSI | MPSRT-FST 4


Chapitre I : Introduction au système d’exploitation Linux .
.

sur les paramètres présente dans le fichier /etc/sudoers. Cette commande est différente à la
commande su vu qu’elle ne demande pas le mot de passe root en exécutant une commande
qui demande plus de privilèges à l’exceptions de quelques uns.
Par exemple pour autoriser l’utilisateur étudiant à exécuter la commande sudo avec
usermod en tant que root dans il sera obligé d’introduire le mot de passe :
[etudiant@desktop ~]$ sudo usermod –L username
[sudo] mot de passe de etudiant : password

L’avantage bénéfique d’avoir utilisé la commande sudo est que toutes les commandes
exécutés avec cette commande seront enregistrés par défaut au fichier /var/log/secure.
[etudiant@desktop ~]$ sudo tail /var/log/secure
Nov 02 05:57:21 desktop su[30736]: pam_unix(su:session): session opened for user root by (uid=1000)
Nov 02 05:58:14 desktop su[30780]: pam_systemd(su:session): Cannot create session: Already running in a session or
user slice
Nov 02 05:58:14 desktop su[30780]: pam_unix(su:session): session opened for user etudiant by (uid=0)
Nov 02 06:25:40 desktop gdm-password][31069]: gkr-pam: unlocked login keyring
Nov 02 06:25:54 desktop sudo[31103]: pam_unix(sudo:auth): conversation failed
Nov 02 06:25:54 desktop sudo[31103]: pam_unix(sudo:auth): auth could not identify password for [etudiant]
Nov 02 06:25:58 desktop sudo[31105]: pam_unix(sudo:auth): authentication failure; logname= uid=1000 euid=0
tty=/dev/pts/0 ruser=etudiant rhost= user=etudiant

A partir de la version RedHat Enterprise 7, tous les membres du groupe wheel peuvent
utiliser sudo pour exécuter des commandes comme n'importe quel utilisateur privilégié, y
compris root. L'utilisateur dans ce cas sera invité à saisir son propre mot de passe.

Pour modifier ces paramètres l’utilisateur peut éditer le fichier /etc/sudoers


Commandes pour la gestion d’utilisateurs locaux

Création des utilisateurs

Quand on utilise la commande useradd username sans options elle va mettre les champs
par defaut du fichier /etc/passwd. Mais la commande useradd ne va pas créer le mot depasse
automatiquement à l’utilisateur donc l’utilisateur ne peut pas connecter sans avoir créer son
mot de passe.

On peut voir les différents options de useradd en ajoutant l’option –help. Certaines
options peuvent etre ajoutés avec la commande usermod pour modifier l’utilisateur existant.

Certaines informations relatives aux UID valides et les règles de création des mots de
passe se trouvent au fichier /etc/login.defs. la modification de ce fichier n’engendrera aucun
effet sur un utilisateur déjà crée.

Préparé par Faker LANDOLSI | MPSRT-FST 5


Chapitre I : Introduction au système d’exploitation Linux .
.

[etudiant@desktop ~]$ useradd prince


[etudiant@desktop ~]$ ls –l /home
drwx------. 3 prince prince 74 Nov 4 15 :22 prince
[etudiant@desktop ~]$ userdel prince
[etudiant@desktop ~]$ ls –l /home
drwx------. 3 1000 1000 74 Nov 4 15 :22 prince
[etudiant@desktop ~]$ useradd bob
[etudiant@desktop ~]$ ls –l /home
drwx------. 3 bob bob 74 Nov 4 15 :22 bob
drwx------. 3 bob bob 74 Nov 4 15 :22 prince

Modification des utilisateurs

La commande usermod –help affiche les options qu’on peut utiliser pour modifier un
utilisateur existant :
Options usermod
-c Ajouter un commentaire, comme le nom réel au champ GECOS
-g --gid group Spécifier le groupe primaire de l’utilisateur
-G --groups Groups Spécifier la liste des groupes supplémentaires de l’utilisateur
-a --append Utilisée avec l’option -G pour ajouter l’utilisateur à un groupe
supplémentaire sans le supprimer d’autres groupes
-d --home HOME-DIR Spécifier le répertoire personnel
-m --move-home Déplacer le répertoire personnel vers un nouveau emplacement
-s --shell -SHELL Spécifier un shell pou l’utilisateur
-L --lock Verrouiller le compte
-U --unlock Déverrouiller le compte
Suppression des utilisateurs

La commande userdell username supprime l’utilisateur définitivement du fichier


/etc/passwd mais laisse son répertoire personnel intact.

En ajoutant l’option -r le répertoire personnel va être supprimé avec l’utilisateur.


Gestion des groupes

Les groupes d’utilisateurs doivent exister avant les utilisateurs eux-mêmes pour qu’ils
puissent être ajoutés à leurs groupes. Le shell Redhat contient plusieurs commandes concus
pour gérer les groupes.

Création des groupes

La commande groupadd sans option utilise automatiquement les rangés de GID présente
dans le fichier /etc/logins.defs

Préparé par Faker LANDOLSI | MPSRT-FST 6


Chapitre I : Introduction au système d’exploitation Linux .
.

L’option -g est utilisée pour spécifier un GID spécifique

[etudiant@desktop ~]$ sudo groupadd -g 5000 team

L’option -r forcera l’utilisation des rangés de GID existants dans le fichier /etc/login.defs

Modification des groupes

La commande groupmod est utilisée pour modifier le nom du groupe en mappage GID.
L’option -n est utilisée pour spécifier un nouveau nom et l’option -g est utilisée pour modifier
le GID.

[etudiant@desktop ~]$ sudo groupmod -n javaapp appusers


[etudiant@desktop ~]$ sudo groupmod -g 6000 team

Suppression des groupes

La commande groupdel efface les groupes désignés

Le groupe ne doit pas être supprimé s’il est un groupe primaire d’utilisateurs existants. Il
faut vérifier donc avec userdel qu’aucun fichier restant n’est géré par le groupe qu’on va
effacer.

[etudiant@desktop ~]$ sudo groupdel javaapp

Modifier les groupes memberships

Nous pouvons modifier les groupes memberships avec la commande


groupmod -g groupname
On peut ajouter un utilisateur à un groupe supplementaire avec la commande
usermod -aG groupname username
[etudiant@desktop ~]$ sudo usermod -g etudiant etudiant
[etudiant@desktop ~]$ sudo usermod -aG wheel elvis

Gestion et politique des passwords

Avant les mots de passes encryptés Redhat étaient stockés dans le fichier lisible
/etc/passwd. Mais en évolution de temps et vu les attaques par dictionnaires qui évoluent en
parallèle il est devenu obligatoire d’améliorer la coté sécurité pour les mots de passe pour cela
ils ont été déplacés vers le fichier /etc/shadow. Ce nouveau fichier a permis aux
fonctionnalités de vieillissement et d’expiration des mots de passe d’être mis en œuvre.

Préparé par Faker LANDOLSI | MPSRT-FST 7


Chapitre I : Introduction au système d’exploitation Linux .
.

Le nouveau mot de passe crypté est composé de trois parties après l’application de la
méthode de hashage:

Par exemple le mot de passe suivant: $1$gCjLa2/Z$6Pu0EK0AzfCjxjv2hoOB/

1. Le numéro 1 indique le type de hashage utilisé dans ce cas c’est le MD5 le


nombre 6 va être affiché si on utilise le SHA-512.
2. La partie gCjLa2/Z est ajouté au mot de passe comme le sel au repas pour qu’il soit
par la suite encrypté cette partie est ajoutée aléatoirement par le système. Cette
méthode est utilisée pour que si deux utilisateurs ayant le même mot de passe ils
n’auront pas les mêmes passwords encryptés dans le fichier /etc/shadow
3. Le hashage encrypté Z$6Pu0EK0AzfCjxjv2hoOB
Quand l’utilisateur tente de se connecter, le système va lire l’entrée
correspondante au fichier /etc/shadow, combiner avec le sel ajouté avec le mot de
passe de l’utilisateur déjà tapée et l’encrypter avec l’algorithme de hashage
indiqué. Si le mot de passe est identique à celui présent dans le fichier après le
hashage donc il sera connecté sinon le système indiquera que le mot de passe est
erroné. Cette méthode permet au système de déterminer si le mot de passe tapée
par l’utilisateur est correct sans avoir besoin de la stocker sous une forme
utilisable pour la journalisation.

Le ficher /etc/shadow a un format spécifique dont il contient 9 champs séparés par deux
point :
(1)name:(2)password : (3)lastchange: (4)minage: (5)maxage: (6)warning: (7)inactive: (8)expire: (9)blank

(1) le nom de l’utilisateur, ce nom doit être valide dans le système.

(2) Le mot de passe encrypté, ce champs commence par un point d’exclamation pour
indiquer que le mot de passe est verrouillé.

(3) La date du dernier changement du mot de passe représentée par les nombres de jours
depuis le 01.01.1970.

(4) Le nombre minimal de jour avant que le mot de passe doit être changé, si l’affichage
indique 0 donc il y’aura pas un besoin de changement.

(5) Le nombre maximal de jour avant que le mot de passe doit être changé.

(6) La période d’avertissement pour que le mot de passe expire. Si elle est égale à 0 c’est
que le mot de passe n’expire jamais.

Préparé par Faker LANDOLSI | MPSRT-FST 8


Chapitre I : Introduction au système d’exploitation Linux .
.

(7) Le nombre de jours ou le compte reste active après l’expiration de son mot de passe.
L’utilisateur aura la possibilité de se connecter au compte durant ce période et changer le mot
de passe. Après cette periode indiqué le compte sera verrouillé et inactif.

(8) La date d’expiration du compte exprimée en nombre de jours depuis le 01.01.1970.

(9) Ce champs vide est réservé à une utilisation dans le futur.

Le diagramme suivant contient les paramètres pertinents qui peuvent être ajustés pour
implémenter un changement au niveau de la politique des mots de passe.

#chage -m 0 -M 90 -W7 -I 14 username

chage - d 0 username : forcer la mise à jour du mot de passe à la prochaine connexion.


chage - l username : lister les paramètres de l’utilisateur connecté.
chage -E YYYY-MM-DD : le compte va être expiré dans un jour spécifié.

Les Accès restreints

Avec la commande chage l’expiration du compte peut être définie. Une fois cette date est
atteinte l’utilisateur ne peut pas se connecter au système. Donc il pourra être verrouillé en
tapant la commande usermod –L.

[etudiant@desktop ~]$ sudo usermod -L elvis


[etudiant@desktop ~]$ su – elvis
Password : elvis
Su : Echec de l’authentification

Lorsqu’un utilisateur quitte l’entreprise l’administrateur peut désactiver son compte avec
la commande usermod. Le nombre de jours qui doit etre introduit est le nombre de jours
depuis le 01.01.1970.

[etudiant@desktop ~]$ sudo usermod -L -e 1 elvis

Préparé par Faker LANDOLSI | MPSRT-FST 9


Chapitre I : Introduction au système d’exploitation Linux .
.

Le verrouillage du compte empêche l’utilisateur d’accéder avec un mot de passe. C’est la


méthode recommandée pour empêcher l’accès par un employé qui a déjà quitté l’entreprise.
Si l’employé revient le compte peut être déverrouillé par la commande usermod –U
username. Si le compte a déjà expiré donc il faut changer la date d’expiration.

nologin shell

Parfois un utilisateur aura besoin d’un nom d’utilisateur et mot de passe pour accéder au
système sans avoir besoin d’un shell interactif tel que le serveur mail qui demande un compte
pour stocker le courrier et un mot de passe pour l’utilisateur pour s’authentifier avec le client
mail pour accéder au courrier. Cet utilisateur n’aura pas besoin de se connecter au système.
Une solution commune à cette situation est de définir le shell de connexion à
/sbin/nologin. Si l’utilisateur essaye de s’authentifier avec ce compte sous le système
directement le nologin shell fermera la connexion.
[etudiant@desktop ~]$ usermod -s /sbin/nologin etudiant
[etudiant@desktop ~]$ su – etudiant
Derniere connexion : Tue Nov 2 18:40:30 EST 2021 on pts/0
Ce compte est actuellement non disponible

Préparé par Faker LANDOLSI | MPSRT-FST 10

Vous aimerez peut-être aussi