🛡️ Introduction à l'administration et à la gestion des systèmes
Félicitations ! Vous avez terminé la phase d'utilisation avancé du terminal. Il n'est plus seulement question de "faire marcher un script", mais aussi de s'assurer que tout le système fonctionne bien, qu'il est sécurisé et qu'il peut gérer la charge.
🔑 1. Le Principe du Privilège : sudo (SuperUser DO)
Si, jusqu'ici, vous avez appris à modifier les permissions avec chmod, comprendre quand et pourquoi utiliser sudo est fondamental.
📚 Rôle : sudo permet à un utilisateur normal d'exécuter une seule commande avec les privilèges de superutilisateur (root), sans avoir besoin du mot de passe root complet, ce qui est beaucoup plus sécurisé.
# Syntaxe : sudo votre_commande
sudo apt update # Exécute la mise à jour des paquets avec droits admin
⚠️ Principe Clé : Ne jamais utiliser le compte root pour vos tâches quotidiennes. Utilisez toujours votre utilisateur normal et n'appelez sudo que lorsque c'est strictement nécessaire.
👥 2. Gestion des Utilisateurs et des Groupes (useradd, groupadd)
Un système est un réseau de personnes (même si ce sont juste des comptes !). Ces commandes vous permettent de gérer qui peut faire quoi sur le système :
groupadd groupname: Crée un nouveau groupe.bash sudo groupadd devopsuseradd username: Crée un nouvel utilisateur (souvent nécessitesudo).usermod --add-group user,groupe: Modifie les appartenances d'un utilisateur à des groupes spécifiques.
💡 Après avoir créé l'utilisateur et le groupe, vous utiliseriez ensuitechownouchmodpour définir les droits de ces nouveaux comptes sur les ressources du système.
🖥️ 3. Le Monitoring des Processus (ps, top/htop, kill)
Lorsque quelque chose ne fonctionne pas, le SysAdmin doit savoir pourquoi. Il faut regarder ce qui tourne en arrière-plan.
ps aux: Affiche une liste statique de tous les processus actuellement actifs sur le système (a= tous les utilisateurs,u= détaillé,x= même s'il n'y a pas de terminal attaché).bash ps aux | grep apache # Cherche tous les processus liés à Apache.topouhtop: Ce sont des outils interactifs qui montrent en temps réel l'utilisation CPU, la mémoire et quels processus consomment le plus de ressources. (Très visuel, idéal pour voir ce qui "bloque" le système).kill PID: Permet d'arrêter un processus bloquant. Vous devez d'abord trouver son ID Processus (PID) avecps aux.bash kill 12345 # Arrête le processus dont l'ID est 12345
🌐 4. La Gestion des Services (systemctl / Init.d)
Les systèmes modernes (comme ceux utilisant systemd) gèrent les services en arrière-plan (serveurs web, bases de données, etc.). Savoir démarrer, arrêter ou vérifier ces services est vital.
📚 Syntaxe moderne :
# Vérifie si le service tourne bien
systemctl status apache2
# Démarre un service
sudo systemctl start nginx
# Arrête un service
sudo systemctl stop mysql
🚀 Réflexion de la Journée SysAdmin : Le Cycle de Vie du Problème
Un bon administrateur système ne se contente pas d'exécuter des commandes ; il suit une méthode pour diagnostiquer les problèmes.
Scénario : Votre serveur web Apache est soudainement inaccessible.
- Vérification (Monitoring) :
systemctl status apache2. Est-ce que le service est arrêté ? Pourquoi ? - Identification du problème (Processus) : Si le service tourne, mais qu'il est lent, je regarde avec
topce qui consomme trop CPU ou Mémoire. Y a-t-il un processus suspect (ps aux | grep apache) ? - Diagnostic avancé (Logs) : Je consulte les logs du système pour savoir ce qui s'est passé au moment où le problème est apparu :
journalctl -xe(ou des fichiers log spécifiques comme/var/log/apache2/error.log).
Vous êtes maintenant équipé non seulement pour exécuter, mais surtout pour DIAGNOSTIQUER.