La configuration Unix pour un ou plusieurs utilisateurs diffère principalement dans la manière dont les comptes d'utilisateurs sont gérés et les ressources système sont allouées. Il n'existe pas de « fichier de configuration » unique qui dicte cela ; c'est une combinaison de fichiers et de paramètres répartis dans tout le système.
Configuration mono-utilisateur :
Un système Unix mono-utilisateur, généralement utilisé pour les serveurs effectuant des tâches spécifiques ou lors de la maintenance du système (mode mono-utilisateur), ne nécessite pas de gestion étendue des utilisateurs. Les éléments clés sont :
* Compte racine : L'utilisateur root est le seul compte actif. Tous les fichiers et processus système s'exécutent sous ce compte. Aucune configuration spéciale n'est nécessaire au-delà de l'installation standard du système.
* Services minimaux : Seuls les services essentiels à la tâche spécifique sont exécutés. De nombreux services et démons réseau (processus en arrière-plan) sont probablement désactivés.
* Sécurité : La sécurité est simplifiée car un seul utilisateur y a accès. Cependant, une protection solide par mot de passe root reste cruciale.
Configuration multi-utilisateurs :
Les systèmes multi-utilisateurs nécessitent une configuration plus robuste pour gérer l'accès, les ressources et la sécurité :
1. Gestion des comptes utilisateur :
* `/etc/passwd` :ce fichier stocke des informations essentielles sur chaque utilisateur, y compris son nom d'utilisateur, son mot de passe (haché), son identifiant (UID), son identifiant de groupe (GID), son répertoire personnel et son shell de connexion.
* `/etc/shadow` :ce fichier (généralement lisible uniquement par root) stocke les mots de passe cryptés. La séparation des informations de mot de passe améliore la sécurité.
* `/etc/group` :Ce fichier définit des groupes d'utilisateurs, leur accordant des privilèges collectifs.
* Commandes `useradd` et `usermod` :Ces outils sont utilisés pour créer et modifier des comptes utilisateurs. Ils gèrent l'ajout d'entrées à `/etc/passwd` et `/etc/group`.
* Commande `passwd` :permet aux utilisateurs de modifier leurs mots de passe.
2. Gestion des ressources :
* `/etc/security/limits.conf` :Ce fichier permet de définir des limites de ressources (mémoire, temps CPU, fichiers ouverts) pour les utilisateurs et les groupes. Cela empêche un utilisateur de monopoliser les ressources.
* Quotas de disque (à l'aide des commandes `quota` et de la configuration associée) :limitez l'espace disque que chaque utilisateur ou groupe peut utiliser.
* Limites de processus (via `ulimit` ou `limits.conf`) :restreindre le nombre de processus qu'un utilisateur peut exécuter simultanément.
3. Authentification :
* `/etc/pam.d/` :les fichiers de configuration des modules d'authentification enfichables (PAM) contrôlent les méthodes d'authentification (mot de passe, clés SSH, etc.). Cela permet une flexibilité dans la manière dont les utilisateurs se connectent.
* Fichier `sudoers` (`/etc/sudoers`) :définit quels utilisateurs peuvent exécuter des commandes avec les privilèges root (en utilisant `sudo`). Une configuration minutieuse est essentielle pour empêcher tout accès non autorisé.
4. Sécurité :
* Configuration du pare-feu (`iptables`, `firewalld` etc.) :contrôle l'accès réseau au système.
* Listes de contrôle d'accès (ACL) :affinez davantage les autorisations du système de fichiers au-delà de la propriété de base des utilisateurs/groupes.
* Audit :journalisation des événements du système pour surveiller l'activité des utilisateurs et détecter les failles de sécurité potentielles.
* SELinux/AppArmor :modules de sécurité qui améliorent la sécurité en limitant les capacités des processus.
En résumé : Un système mono-utilisateur nécessite une gestion minimale des utilisateurs, tandis qu'un système multi-utilisateurs nécessite une configuration approfondie pour les comptes d'utilisateurs, l'allocation des ressources, l'authentification et la sécurité, s'appuyant fortement sur les fichiers et les commandes mentionnés ci-dessus. Les détails et configurations spécifiques varient en fonction du système d'exploitation de type Unix (par exemple, distributions Linux, BSD, macOS) et de sa configuration spécifique.
|