FAQ Instructions simples pour travailler avec le service Profitserver
Entrée FAQ Utilisateurs Linux : gestion et autorisations

Utilisateurs Linux : gestion et autorisations


Dans cet article, nous explorerons l'importance d'une bonne organisation des utilisateurs Linux. Nous décrirons les droits d'accès, en commençant par la création et la configuration des utilisateurs, et en terminant par l'octroi de l'accès à des fichiers et dossiers spécifiques. Nous aborderons également quelques outils de sécurité importants, tels que sudo et SELinux, qui contribuent à protéger le système contre les activités indésirables.

L'importance de la gestion des utilisateurs et des droits d'accès sous Linux

Dans l'univers Linux, la gestion des utilisateurs et des droits d'accès est primordiale. Imaginez Linux comme un grand appartement où chaque utilisateur est un locataire et chaque fichier une pièce. La gestion des utilisateurs revient à attribuer à chaque locataire sa clé unique, tandis que les droits d'accès correspondent aux actions qu'il peut effectuer dans sa pièce.

Lors de la création d'un compte utilisateur, un nom et un identifiant unique ( UID ) lui sont attribués, comparables à une clé personnelle pour son appartement. L'utilisateur appartient également à un groupe , qui le relie aux autres locataires. Ce groupe fonctionne comme un club où les membres partagent des privilèges communs.

Les droits d'accès aux fichiers sont répartis en trois catégories : propriétaire ( utilisateur ), groupe et autres . Chaque utilisateur dispose de droits spécifiques de lecture, d'écriture et d'exécution pour chaque catégorie. Par exemple, le propriétaire du fichier peut avoir les droits de lecture et d'écriture, le groupe uniquement les droits de lecture, et les autres aucun droit.

Les politiques de sécurité telles que sudo et SELinux , utilisées dans les systèmes Linux, méritent une attention particulière . Sudo est une commande spéciale qui permet aux utilisateurs ordinaires d'utiliser temporairement les droits de superutilisateur (root) pour effectuer des tâches spécifiques normalement réservées aux administrateurs. Cela contribue à prévenir les erreurs accidentelles ou l'utilisation abusive des droits de superutilisateur. Lors de l'utilisation de sudo , l'utilisateur doit généralement saisir son mot de passe pour confirmer son identité. Il peut ensuite exécuter des commandes avec les droits de superutilisateur (root) conformément aux règles définies dans le fichier sudoers .

SELinux est une couche de sécurité supplémentaire pour le système d'exploitation Linux. Il surveille les programmes et les fichiers accessibles au système et en limite l'accès afin de prévenir les intrusions et les attaques. Le serveur est ainsi plus sécurisé en empêchant les tentatives de piratage et les actions malveillantes.

Création et gestion des utilisateurs

Comment créer un utilisateur sous Linux

Sous Linux, les utilisateurs sont généralement créés avec la commande useradd . Par exemple, pour créer un utilisateur nommé « nom_utilisateur », vous saisirez :

useradd username

Comment définir un mot de passe utilisateur Linux

Après la création d'un utilisateur, son compte n'est pas protégé par un mot de passe. Pour définir un mot de passe pour un nouvel utilisateur, utilisez la commande passwd :

passwd username

Où nom d'utilisateur est le nom de l'utilisateur pour lequel le mot de passe est défini.

Comment afficher une liste d'utilisateurs sous Linux

Pour afficher la liste des utilisateurs sous Linux en utilisant une seule commande dans le terminal, vous pouvez utiliser la commande cut :

cut -d: -f1 /etc/passwd

Cette commande lit le contenu du fichier /etc/passwd , qui contient des informations sur tous les utilisateurs.

Pour obtenir des informations sur un utilisateur spécifique, vous pouvez utiliser la commande :

id username

Ceci affichera l' UID , le GID et les groupes de l'utilisateur.

Suppression d'un utilisateur Linux

Pour supprimer un utilisateur, utilisez la commande userdel :

userdel username

Toutefois, cette commande ne supprime pas les fichiers du répertoire personnel de l'utilisateur. Pour les supprimer, vous pouvez utiliser l' option -r :

userdel -r username

Cela supprimera le nom d'utilisateur de l'utilisateur ainsi que son répertoire personnel et tous les fichiers qu'il contient.

Modification d'un utilisateur Linux

Pour modifier les informations relatives à un utilisateur, utilisez la commande usermod . Cet outil utilise la syntaxe suivante :

usermod argument user

Une liste complète des arguments possibles est affichée dans l'aide de l'utilitaire :

Aide de l'utilitaire de gestion des utilisateurs Linux

Par exemple, pour modifier le répertoire personnel d'un utilisateur, vous utiliseriez la commande :

usermod -d /new/path/to/directory username

Création et gestion de groupes d'utilisateurs sous Linux

Sous Linux, les groupes d'utilisateurs permettent aux administrateurs de regrouper des utilisateurs disposant de droits d'accès similaires. Cela simplifie la gestion des droits d'accès et renforce la sécurité du système en permettant de définir les droits au niveau du groupe, plutôt que pour chaque utilisateur individuellement. Prenons l'exemple du groupe de développeurs avec l'utilisateur admin.

Comment créer un groupe d'utilisateurs sous Linux

Pour créer un nouveau groupe, utilisez la commande groupadd avec le nom du nouveau groupe :

sudo groupadd group_name

Dans notre exemple, la commande ressemblerait à ceci :

sudo groupadd developers

Comment supprimer un groupe d'utilisateurs sous Linux

Pour supprimer un groupe, utilisez la commande groupdel :

sudo groupdel group_name

Ainsi, la commande :

sudo groupdel developers

Je vais supprimer le groupe nommé développeurs.

Ajout d'utilisateurs à un groupe

Pour ajouter un utilisateur à un groupe spécifique, utilisez la commande usermod :

sudo usermod -aG group_name user_name

Par exemple :

sudo usermod -aG developers admin

Cette commande ajoutera l'utilisateur nommé admin au groupe des développeurs .

Supprimer des utilisateurs d'un groupe

Pour retirer un utilisateur d'un groupe, utilisez la commande deluser :

sudo deluser user_name group_name

Commande permettant de supprimer l'utilisateur admin du groupe des développeurs :

sudo deluser admin developers

Affichage des listes de groupes sous Linux

Pour afficher la liste de tous les groupes du système, utilisez la commande cat avec le fichier /etc/group :

cat /etc/group

Cette commande affichera une liste de tous les groupes du système.

Vérification de l'appartenance au groupe d'utilisateurs

Après avoir effectué des actions, vous pouvez vérifier à quels groupes appartient un utilisateur à l'aide de la commande groups :

groups user_name

Nous avons ainsi exploré les bases de la gestion des groupes d'utilisateurs sous Linux. Passons maintenant à l'étape suivante : l'attribution des droits d'accès aux fichiers et répertoires. Ce processus permet de déterminer les actions que les utilisateurs ou les groupes peuvent effectuer sur des fichiers et répertoires spécifiques, garantissant ainsi une gestion efficace de la sécurité et de l'accès aux ressources système.

Attribution de droits d'accès aux fichiers et aux répertoires

Représentation symbolique des droits d'accès

Comme nous l'avons déjà vu, il existe trois catégories d'utilisateurs sous Linux : propriétaire ( utilisateur ), groupe et autres . Chacune d'elles peut disposer de certains niveaux d'accès aux fichiers et répertoires.

  1. Lire (Read - r) : Permet de visualiser le contenu d'un fichier ou d'un répertoire.
  2. Écriture (Write - w) : permet de modifier un fichier ou d'en créer un nouveau dans le répertoire. Pour un répertoire, cela permet également d'en supprimer des fichiers.
  3. Exécuter (Execute - x) : Permet d'exécuter le fichier (s'il s'agit d'un fichier exécutable) ou d'entrer dans le répertoire (s'il s'agit d'un répertoire).

Dans les systèmes Linux, les droits d'accès sont représentés par une chaîne de 10 caractères. Le premier caractère indique le type de fichier (fichier standard, répertoire, etc.), et les neuf autres sont trois groupes de trois caractères pour chaque groupe d'utilisateurs. Pour mieux comprendre, prenons un exemple.

Les droits d'accès -rwxr-xr-- signifient :

  1. Le premier caractère (-) indique le type de fichier (dans ce cas, un fichier normal).
  2. Trois caractères pour le propriétaire (rwx) indiquent que le propriétaire dispose des droits de lecture, d'écriture et d'exécution.
  3. Trois caractères pour le groupe (rx) indiquent que les membres du groupe ont uniquement des droits de lecture et d'exécution.
  4. Trois caractères pour les autres (r--) signifient que les autres utilisateurs peuvent uniquement lire le fichier.

Les droits d'accès sont définis à l'aide de la commande chmod , et sa syntaxe est la suivante :

chmod [options] mode file(s)

Où? :

  1. [options] - paramètres supplémentaires, tels que -R pour modifier de manière récursive les droits d'accès dans un répertoire et ses sous-répertoires.
  2. mode – une chaîne spéciale spécifiant quels droits d'accès sont modifiés et pour qui. Le mode peut être spécifié par des symboles (r, w, x) et des bits (0 ou 1). Des valeurs numériques peuvent également être utilisées (nous en parlerons plus tard).
  3. fichier(s) - fichiers ou répertoires auxquels les modifications sont appliquées.

Cet utilitaire est un outil assez puissant, nous ne regarderons donc que quelques commandes de base à titre d'exemple.

Modifiez les droits d'accès à un fichier afin que le propriétaire ait des droits de lecture et d'écriture, que le groupe ait uniquement des droits de lecture et que les autres utilisateurs n'aient aucun droit :

chmod u=rw,g=r,o= filename

Définissez les droits d'accès pour que tous les utilisateurs puissent lire et écrire dans un fichier :

chmod a+rw filename

Modifier de manière récursive les droits d'accès pour tous les fichiers et sous-répertoires d'un répertoire :

chmod -R u+rwx directory

Représentation numérique des droits d'accès

Dans la représentation numérique, chaque catégorie d'utilisateur (propriétaire, groupe, autres) possède son numéro, et la combinaison de ces numéros définit les droits d'accès finaux. Comme pour la représentation symbolique, chacun des trois droits possède sa valeur, mais en numérique :

  1. Lire (read) - valeur 4
  2. Écriture (write) - valeur 2
  3. Exécuter (execute) - valeur 1

Les valeurs numériques sont également utilisées pour déterminer le type d'utilisateur :

  1. Propriétaire du fichier (utilisateur) - le premier chiffre
  2. Groupe du propriétaire (groupe) - le deuxième chiffre
  3. Autres utilisateurs (autres) - le troisième chiffre

Ainsi, la représentation numérique complète des droits d'accès aux fichiers se compose de trois chiffres, chacun représentant la somme des valeurs des droits d'une catégorie d'utilisateur donnée. Cette méthode est plus pratique que l'utilisation de dix caractères dans une représentation symbolique. Dans ce cas, la gestion se présente comme suit :

chmod XYZ file

où X , Y et Z sont des nombres représentant respectivement les droits d'accès du propriétaire, du groupe et des autres utilisateurs.

Par exemple, pour accorder au propriétaire des droits d'accès complets (lecture, écriture et exécution) et au groupe et aux autres utilisateurs uniquement des droits de lecture et d'exécution, vous pouvez utiliser la commande :

chmod 755 file

Considérons d’autres exemples :

chmod 700 file

Seul le propriétaire dispose des droits de lecture, d'écriture et d'exécution, tandis que le groupe et les autres utilisateurs n'ont aucun droit d'accès.

chmod 644 file

Le propriétaire a des droits de lecture et d'écriture, tandis que le groupe et les autres utilisateurs n'ont que des droits de lecture.

chmod 751 file

Le propriétaire dispose de tous les droits, le groupe dispose des droits de lecture et d'exécution, et les autres utilisateurs disposent uniquement des droits d'exécution.

Comme mentionné précédemment, l'outil offre des fonctionnalités très complètes. Dans certains cas, les options disponibles dans la section « Aide » ne suffisent pas :

Outil de gestion des droits d'accès sous Linux

Notez la dernière ligne. Cette commande ouvre une documentation plus détaillée sur l'outil. Vous pouvez également consulter la page Wikipédia officielle de l'utilitaire , où vous trouverez des informations détaillées sur Chmod.

Conclusion

Les utilisateurs Linux et leur gestion sont essentiels à la sécurité et au bon fonctionnement du système d'exploitation. Dans cet article, nous avons souligné l'importance d'une gestion efficace des utilisateurs et des droits d'accès sous Linux, en abordant la création et la gestion des utilisateurs, la gestion des groupes d'utilisateurs et l'attribution des droits d'accès aux fichiers et aux répertoires.

❮ Article précédent Configuration du pare-feu sous Linux
Article suivant ❯ Éditeurs de texte Linux

Demandez-nous des informations sur VPS

Nous sommes toujours prêts à répondre à vos questions à toute heure du jour ou de la nuit.