
Utilisateur (root vs utilisateur standard), Groupe, Permissions (introduction)
Comprenez les rôles des utilisateurs (root et standard), la notion de groupe et l'introduction aux permissions de fichiers sous Linux. Fondamental pour la sécurité.
Les utilisateurs sous Linux : qui êtes-vous sur le système ?
Dans l'univers Linux, chaque personne ou processus interagissant avec le système est identifié comme un utilisateur. Chaque utilisateur possède un nom d'utilisateur unique (login) et un identifiant numérique (UID - User ID). Cette identification est cruciale car elle permet au système de savoir qui fait quoi et de contrôler l'accès aux ressources (fichiers, répertoires, périphériques).
On distingue principalement deux types d'utilisateurs :
- L'utilisateur standard (ou normal) : C'est le type de compte que vous utilisez pour vos tâches quotidiennes : naviguer sur internet, éditer des documents, lancer des applications. Un utilisateur standard a des droits limités sur le système. Il peut gérer ses propres fichiers et répertoires (généralement situés dans son dossier personnel,
/home/nom_utilisateur), mais il ne peut pas modifier les fichiers système critiques ni installer des logiciels à l'échelle du système sans autorisation spécifique. Cette limitation est une mesure de sécurité importante pour protéger l'intégrité du système. - L'utilisateur root (ou super-utilisateur) : L'utilisateur 'root' est l'administrateur suprême du système. Il possède tous les droits et peut effectuer n'importe quelle action sur le système : modifier n'importe quel fichier, installer/désinstaller des logiciels, arrêter des services, gérer les autres utilisateurs, etc. Son UID est toujours 0. En raison de ses pouvoirs étendus, il est fortement déconseillé de travailler en permanence en tant que 'root'. Une mauvaise manipulation en tant que 'root' peut avoir des conséquences désastreuses sur le système. C'est pourquoi on utilise généralement la commande
sudo(Super User DO) pour exécuter des commandes spécifiques avec les privilèges 'root' de manière ponctuelle et contrôlée, depuis un compte utilisateur standard autorisé.
Les groupes d'utilisateurs : collaborer et organiser les droits
Un groupe sous Linux est une collection d'un ou plusieurs utilisateurs. Les groupes permettent de gérer les permissions de manière collective plutôt qu'individuellement pour chaque utilisateur. Chaque groupe possède un nom unique et un identifiant numérique (GID - Group ID). Un utilisateur peut appartenir à un groupe principal (son groupe par défaut, souvent créé en même temps que l'utilisateur et portant le même nom) et à plusieurs groupes secondaires.
L'utilisation des groupes simplifie l'administration des droits d'accès. Par exemple, si plusieurs utilisateurs ont besoin d'accéder et de modifier un ensemble de fichiers partagés pour un projet, au lieu de donner des permissions individuelles à chaque utilisateur sur chaque fichier, on peut :
- Créer un groupe (par exemple, 'projet_alpha').
- Ajouter tous les utilisateurs concernés à ce groupe.
- Attribuer les permissions nécessaires au groupe 'projet_alpha' sur les fichiers et répertoires du projet.
Ainsi, tous les membres du groupe hériteront automatiquement des droits accordés au groupe. Si un nouvel utilisateur rejoint le projet, il suffit de l'ajouter au groupe. Si un utilisateur quitte le projet, on le retire du groupe. Cela est beaucoup plus efficace que de gérer les droits fichier par fichier pour chaque utilisateur.
Des groupes prédéfinis existent également sur le système pour gérer des droits spécifiques, par exemple, le groupe 'sudo' ou 'wheel' (selon les distributions) peut donner le droit d'utiliser la commande sudo. Le groupe 'adm' peut donner accès à certains fichiers de log, etc.
Introduction aux permissions de fichiers et répertoires : qui peut faire quoi ?
Le concept de permissions est fondamental sous Linux pour contrôler l'accès aux fichiers et aux répertoires. Chaque fichier et chaque répertoire possède un ensemble de permissions qui spécifient qui peut le lire, le modifier (écrire) ou l'exécuter. Ces permissions sont définies pour trois catégories d'entités :
- L'utilisateur propriétaire (Owner/User - u) : La personne qui a créé le fichier ou le répertoire, ou à qui la propriété a été explicitement assignée.
- Le groupe propriétaire (Group - g) : Le groupe auquel le fichier ou le répertoire est associé. Tous les membres de ce groupe sont concernés par ces permissions.
- Les autres (Others - o) : Tous les autres utilisateurs du système qui ne sont ni le propriétaire ni membres du groupe propriétaire.
Pour chacune de ces trois catégories, trois types de permissions de base peuvent être accordés ou refusés :
- Lire (Read - r) :
- Pour un fichier : Permet d'ouvrir et de visualiser le contenu du fichier.
- Pour un répertoire : Permet de lister le contenu du répertoire (voir les noms des fichiers et sous-répertoires qu'il contient).
- Ecrire (Write - w) :
- Pour un fichier : Permet de modifier ou de supprimer le contenu du fichier.
- Pour un répertoire : Permet de créer, supprimer ou renommer des fichiers et des sous-répertoires à l'intérieur de ce répertoire (nécessite aussi le droit d'exécution sur le répertoire).
- Exécuter (Execute - x) :
- Pour un fichier : Permet d'exécuter le fichier s'il s'agit d'un programme ou d'un script.
- Pour un répertoire : Permet d'entrer dans le répertoire (par exemple, avec la commande
cd) et d'accéder à ses inodes (informations sur les fichiers). Sans le droit d'exécution sur un répertoire, même si vous avez le droit de lecture, vous ne pourrez pas y accéder.
Ces permissions sont souvent représentées par une chaîne de caractères comme rwxr-xr-- ou par une valeur numérique (mode octal) comme 754. Nous explorerons en détail comment lire et modifier ces permissions dans un chapitre ultérieur (Chapitre 2.4). Pour l'instant, il est important de retenir que ce système de permissions est la pierre angulaire de la sécurité et du contrôle d'accès dans Linux, garantissant que les utilisateurs ne peuvent accéder et modifier que ce à quoi ils ont droit.