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 les droits d'accès jouent un rôle essentiel. Imaginez Linux comme un grand appartement où chaque utilisateur est un locataire et chaque fichier une pièce. Gestion des utilisateurs c'est comme attribuer à chaque locataire sa clé unique, tandis que des droits d'accès c'est ce qu'ils peuvent faire dans leur chambre.
Lorsqu'un utilisateur est créé, un nom et un identifiant unique lui sont attribués (UID), comme une clé personnelle de l'appartement. L'utilisateur dispose également a groupe, les unissant à d'autres locataires. Le groupe c'est comme un club où les membres partagent des privilèges communs.
Droits d'accès aux fichiers sont divisés en trois catégories : propriétaire (utilisateur), groupe et autresChaque clé (utilisateur) peut disposer de droits uniques de lecture, d'écriture et d'exécution pour chaque catégorie. Par exemple, le propriétaire du fichier peut avoir des droits de lecture et d'écriture, le groupe uniquement en lecture, et les autres, aucun.
Une attention particulière mérite des politiques de sécurité telles que sudo et SELinux, utilisé dans les systèmes Linux. Sudo est une commande spéciale permettant 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 permet d'éviter les erreurs accidentelles ou les abus de droits de superutilisateur. Lors de l'utilisation sudo, l'utilisateur est généralement invité à 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 sueurs fichier.
SELinux constitue une couche de sécurité supplémentaire pour le système d'exploitation Linux. Il surveille les programmes et fichiers utilisables sur le système et en limite l'accès afin de prévenir les intrusions et les attaques. Cela renforce la sécurité du serveur en empêchant les tentatives de piratage ou les actions malveillantes.
Création et gestion des utilisateurs
Comment créer un utilisateur sous Linux
Les utilisateurs de Linux sont généralement créés avec le useradd Commande. Par exemple, pour créer un utilisateur nommé « nom d'utilisateur », saisissez :
useradd username
Comment définir un mot de passe utilisateur Linux
Après la création d'un utilisateur, son compte n'est plus protégé par un mot de passe. Pour définir un mot de passe pour un nouvel utilisateur, utilisez le passwd commander:
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 une liste d'utilisateurs sous Linux avec une seule commande dans le terminal, vous pouvez utiliser le cut commander:
cut -d: -f1 /etc/passwd
Cette commande lit le contenu du / Etc / passwd fichier, qui contient des informations sur tous les utilisateurs.
Pour obtenir des informations sur un utilisateur spécifique, vous pouvez utiliser la commande :
id username
Cela affichera l'utilisateur UID, GID et Groupes.
Suppression d'un utilisateur Linux
Pour supprimer un utilisateur, utilisez le userdel commander:
userdel username
Cependant, cette commande ne supprime pas les fichiers du répertoire personnel de l'utilisateur. Pour les supprimer, vous pouvez utiliser la commande -r option:
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 sur un utilisateur, utilisez le usermod commande. L'outil utilise la syntaxe :
usermod argument user
Une liste complète des arguments possibles est affichée dans l'aide de l'utilitaire :
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 le groupeajouter commande 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 le groupe del commander:
sudo groupdel group_name
Ainsi, la commande :
sudo groupdel developers
Supprimera le groupe nommé mobiles.
Ajout d'utilisateurs à un groupe
Pour ajouter un utilisateur à un groupe spécifique, utilisez le usermod commander:
sudo usermod -aG group_name user_name
Par exemple :
sudo usermod -aG developers admin
Cette commande ajoutera l'utilisateur nommé admin à la mobiles en groupe.
Supprimer des utilisateurs d'un groupe
Pour supprimer un utilisateur d’un groupe, utilisez le deluser commander:
sudo deluser user_name group_name
La commande pour supprimer l'utilisateur admin du mobiles groupe:
sudo deluser admin developers
Affichage des listes de groupes sous Linux
Pour afficher une liste de tous les groupes du système, utilisez le cat commande avec le / etc / group fichier:
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à découvert, il existe 3 catégories d'utilisateurs sous Linux : propriétaire (utilisateur), groupe et autres. Chacun d'eux peut posséder certains groupes d'accès à des fichiers ou des répertoires :
- Lire (Read - r) : Permet de visualiser le contenu d'un fichier ou d'un répertoire.
- É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.
- 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.
Des droits d'accès -rwxr-xr-- signifier:
- Le premier caractère (-) indique le type de fichier (dans ce cas, un fichier normal).
- Trois caractères pour le propriétaire (rwx) indiquent que le propriétaire dispose des droits de lecture, d'écriture et d'exécution.
- Trois caractères pour le groupe (rx) indiquent que les membres du groupe ont uniquement des droits de lecture et d'exécution.
- 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 du chmod commande, et la syntaxe ressemble à ceci :
chmod [options] mode file(s)
Où? :
- [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.
- 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).
- 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 :
- Lire (read) - valeur 4
- Écriture (write) - valeur 2
- Exécuter (execute) - valeur 1
Les valeurs numériques sont également utilisées pour déterminer le type d'utilisateur :
- Propriétaire du fichier (utilisateur) - le premier chiffre
- Groupe du propriétaire (groupe) - le deuxième chiffre
- 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 les droits d'accès pour le propriétaire, le groupe et les autres utilisateurs respectivement.
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 :
Soyez attentif à la dernière ligne. Cette commande ouvre une documentation plus détaillée sur l'outil. Vous pouvez également consulter la documentation de l'utilitaire. Wikipédia officielle page, où vous pouvez trouver 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.