Guide des commandes Linux et administration Debian Structure du système de fichiers Debian Répertoires racine du système Debian Répertoire Description Contenu principal / Racine du système Point de montage principal /bin Binaires essentiels Commandes de base (ls, cat, cp, mv, etc.) /boot Fichiers de démarrage Noyau Linux, initramfs, GRUB /dev Périphériques Fichiers spéciaux des périphériques /etc Configuration système Fichiers de configuration globaux /home Répertoires utilisateurs Dossiers personnels des utilisateurs /lib Bibliothèques partagées Bibliothèques système essentielles /lib64 Bibliothèques 64-bit Bibliothèques pour architecture 64-bit /media Points de montage amovibles CD/DVD, clés USB montés automatiquement /mnt Points de montage temporaires Montages manuels temporaires /opt Logiciels optionnels Applications tierces /proc Système de fichiers virtuel Informations sur les processus /root Répertoire de l'administrateur Dossier personnel du compte root /run Données d'exécution Fichiers temporaires des services /sbin Binaires système Commandes d'administration système /srv Données de service Données servies par le système /sys Système de fichiers virtuel Interface avec le noyau /tmp Fichiers temporaires Fichiers temporaires effacés au redémarrage /usr Ressources utilisateur Applications et bibliothèques utilisateur /var Données variables Logs, caches, bases de données Répertoires importants dans /usr Répertoire Description /usr/bin Binaires utilisateur non-essentiels /usr/lib Bibliothèques pour /usr/bin /usr/local Logiciels installés localement /usr/sbin Binaires système non-essentiels /usr/share Données partagées (documentation, man pages) Répertoires importants dans /var Répertoire Description /var/log Fichiers journaux (logs) /var/cache Cache des applications /var/lib Données variables des applications /var/tmp Fichiers temporaires persistants /var/www Contenu web (Apache/Nginx) Commandes de base Linux Navigation et manipulation de fichiers ls - Lister le contenu d'un répertoire ls # Liste les fichiers et dossiers du répertoire courant ls -l # Liste détaillée avec permissions, propriétaire, taille ls -a # Affiche les fichiers cachés (commençant par .) ls -lh # Liste détaillée avec tailles lisibles (Ko, Mo, Go) ls /chemin/dossier # Liste le contenu d'un dossier spécifique cd - Changer de répertoire cd /home/utilisateur # Aller dans un répertoire spécifique cd .. # Remonter d'un niveau dans l'arborescence cd ~ # Aller dans le répertoire personnel cd - # Revenir au répertoire précédent pwd - Afficher le répertoire courant pwd # Affiche le chemin complet du répertoire actuel mkdir - Créer un répertoire mkdir nouveau_dossier # Créer un dossier mkdir -p dossier/sous_dossier # Créer un dossier avec ses parents rmdir - Supprimer un répertoire vide rmdir dossier_vide # Supprime uniquement un dossier sans contenu rm - Supprimer des fichiers/répertoires rm fichier.txt # Supprimer un fichier rm -r dossier # Supprimer un dossier et son contenu rm -rf dossier # Supprimer forcément sans confirmation cp - Copier des fichiers/répertoires cp fichier1 fichier2 # Copier un fichier cp -r dossier1 dossier2 # Copier un dossier et son contenu cp fichier /chemin/destination # Copier vers un autre emplacement mv - Déplacer/renommer des fichiers/répertoires mv fichier1 fichier2 # Renommer un fichier mv fichier /nouveau/chemin # Déplacer un fichier mv dossier1 /nouveau/chemin # Déplacer un dossier find - Rechercher des fichiers find /chemin -name "*.txt" # Trouver tous les fichiers .txt - Cas sensible au majuscule et minuscule find /chemin -iname "*.txt" # Trouver tous les fichiers .txt - Cas insensible au majuscule et minuscule find . -type f -size +10M # Fichiers > 10 Mo dans le répertoire courant find /home -user utilisateur # Fichiers appartenant à un utilisateur locate - Localiser des fichiers rapidement locate nom_fichier # Recherche rapide dans l'index système sudo updatedb # Mettre à jour l'index de recherche Gestion des permissions chmod - Modifier les permissions chmod 755 fichier.txt # Définir des permissions (rwxr-xr-x) chmod u+x script.sh # Ajouter droit d'exécution au propriétaire chmod g-w fichier # Retirer droit d'écriture au groupe chmod +t dossier # Activer le sticky bit sur un dossier chmod 1777 dossier_partage # Sticky bit sur permissions rwxrwxrwt Sticky bit  : Permet, sur un répertoire (comme /tmp ), que seuls les propriétaires puissent supprimer ou renommer leurs propres fichiers, même si d'autres ont des droits d’écriture. Représenté par un t à la fin dans ls -l ( drwxrwxrwt ). chown - Changer le propriétaire chown utilisateur fichier.txt # Changer le propriétaire chown utilisateur:groupe fichier # Changer propriétaire et groupe chgrp - Changer le groupe chgrp groupe fichier.txt # Changer le groupe d'un fichier Surveillance système ps - Afficher les processus ps aux # Liste détaillée de tous les processus ps -ef # Autre format de listing top - Monitorer les processus en temps réel top # Monitorer l'utilisation système htop - Version améliorée de top htop # Interface interactive de surveillance df - Afficher l'espace disque df -h # Affichage lisible des espaces disques df -T # Afficher les types de systèmes de fichiers du - Afficher l'utilisation de l'espace du -sh /chemin # Taille totale d'un dossier du -h --max-depth=1 # Taille des sous-dossiers free - Afficher la mémoire disponible free -h # Mémoire utilisable en format lisible free -m # Mémoire en MégaOctets Informations Système uname - Informations sur le système uname -a # Afficher toutes les informations système uname -s # Nom du système d'exploitation uname -r # Version du noyau uname -m # Architecture machine lsblk - Lister les périphériques de bloc lsblk # Liste des disques et partitions# Changer les permissions chmod 755 fichier.txt chmod u+x fichier.sh # Ajouter exécution pour le propriétaire chmod g-w fichier.txt # Retirer écriture pour le groupe chmod o=r fichier.txt # Définir lecture seule pour les autres # Changer le propriétaire chown utilisateur:groupe fichier.txt chown utilisateur fichier.txt chgrp groupe fichier.txt lsblk -f # Afficher les systèmes de fichiers lsblk -a # Afficher tous les périphériques fdisk - Gestion des partitions sudo fdisk -l # Lister toutes les partitions sudo fdisk /dev/sdX # Gérer une partition spécifique lscpu - Informations sur le processeur lscpu # Détails complets du processeur lscpu | grep "CPU(s)" # Nombre de processeurs lspci - Périphériques PCI lspci # Liste des périphériques PCI lspci -v # Informations détaillées lsusb - Périphériques USB lsusb # Liste des périphériques USB lsusb -v # Informations détaillées cat - Afficher des informations système cat /etc/os-release # Informations sur la distribution cat /proc/cpuinfo # Détails du processeur cat /proc/meminfo # Informations mémoire hostnamectl - Informations système hostnamectl # Afficher les informations système hostnamectl status # Statut du système Tableau des droits des fichiers Représentation numérique (octale) Valeur Binaire Permissions Description 0 000 --- Aucun droit 1 001 --x Exécution seulement 2 010 -w- Écriture seulement 3 011 -wx Écriture + Exécution 4 100 r-- Lecture seulement 5 101 r-x Lecture + Exécution 6 110 rw- Lecture + Écriture 7 111 rwx Tous les droits Structure des permissions Les permissions sont définies pour trois entités : Propriétaire (user) - Premier chiffre Groupe (group) - Deuxième chiffre Autres (others) - Troisième chiffre Exemples courants Permission Signification 755 rwxr-xr-x (propriétaire: tous droits, groupe/autres: lecture+exécution) 644 rw-r--r-- (propriétaire: lecture+écriture, groupe/autres: lecture seule) 600 rw------- (propriétaire: lecture+écriture, groupe/autres: aucun droit) 777 rwxrwxrwx (tous droits pour tous) 700 rwx------ (propriétaire: tous droits, groupe/autres: aucun droit) Commandes de gestion des permissions # Changer les permissions d'un fichier chmod 755 fichier.txt # Changer les permissions d'un dossier de façon récursive chmod -R 755 dossier # Ajouter une permission d'exécution pour le propriétaire sur un fichier chmod u+x fichier.sh # Ajouter une permission d'exécution pour le propriétaire sur un dossier de façon récursive chmod -R u+x dossier # Retirer l'écriture pour le groupe sur un fichier chmod g-w fichier.txt # Retirer l'écriture pour le groupe sur un dossier de façon récursive chmod -R g-w dossier # Définir la lecture seule pour les autres sur un fichier chmod o=r fichier.txt # Définir la lecture seule pour les autres sur un dossier de façon récursive chmod -R o=r dossier # Changer le propriétaire d'un fichier chown utilisateur:groupe fichier.txt # Changer le propriétaire d'un dossier de façon récursive chown -R utilisateur:groupe dossier # Changer le groupe d'un fichier chgrp groupe fichier.txt # Changer le groupe d'un dossier de façon récursive chgrp -R groupe dossier Gestion des serveurs Debian Services système systemctl start service - Démarrer un service systemctl stop service - Arrêter un service systemctl restart service - Redémarrer un service systemctl enable service - Activer un service au démarrage systemctl status service - Vérifier le statut d'un service Gestion des paquets apt update - Mettre à jour la liste des paquets apt upgrade - Mettre à jour les paquets installés apt install package - Installer un paquet apt remove package - Supprimer un paquet Réparation d'APT Problèmes courants et solutions 1. Réparer les paquets cassés Corriger les dépendances cassées : sudo apt --fix-broken install Forcer la configuration des paquets : sudo dpkg --configure -a Réparer les paquets partiellement installés : sudo apt-get -f install 2. Nettoyer le cache APT Nettoyer le cache des paquets : sudo apt clean sudo apt autoclean Supprimer les paquets orphelins : sudo apt autoremove sudo apt autoremove --purge # Supprimer aussi les fichiers de configuration 3. Reconfigurer APT Reconstruire la base de données des paquets : sudo apt update --fix-missing Forcer la mise à jour des sources : sudo apt update && sudo apt upgrade 4. Problèmes de verrouillage Supprimer les verrous APT (si aucun processus APT n'est en cours) : sudo rm /var/lib/dpkg/lock-frontend sudo rm /var/lib/dpkg/lock sudo rm /var/cache/apt/archives/lock Reconfigurer dpkg : sudo dpkg --configure -a 5. Réinitialiser les sources APT Sauvegarder les sources actuelles : sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup Éditer les sources si nécessaire : sudo nano /etc/apt/sources.list Mettre à jour après modification : sudo apt update 6. Vérifier l'intégrité du système Vérifier les paquets installés : sudo apt check Simuler les actions sans les exécuter : sudo apt -s upgrade Forcer la réinstallation d'un paquet : sudo apt reinstall nom_du_paquet Administration des utilisateurs Création et gestion des comptes utilisateurs # Créer un compte utilisateur sudo adduser username # Modifier le mot de passe sudo passwd utilisateur # Créer un nouveau groupe sudo addgroup nom_groupe # Ajouter un utilisateur à un groupe sudo adduser utilisateur groupe # Modifier le répertoire personnel sudo usermod -m -d /newhome/username username # Supprimer un utilisateur sudo deluser username # Supprimer un utilisateur et son répertoire personnel sudo deluser --remove-home username # Lister les utilisateurs cat /etc/passwd # Lister les groupes cat /etc/group # Voir les groupes d'un utilisateur groups username Gestion des identifiants système # Modifier le GID (identifiant de groupe) d'un utilisateur sudo groupmod -g 900 toto # Modifier l'UID (identifiant utilisateur) et le GID simultanément sudo usermod -u 800 -g 900 toto # Changer le shell par défaut d'un utilisateur sudo usermod -s /bin/bash username # Verrouiller un compte utilisateur sudo usermod -L username # Déverrouiller un compte utilisateur sudo usermod -U username Suppression de mot de passe Méthode sécurisée : # Supprimer le mot de passe d'un utilisateur sudo passwd -d username # Forcer le changement de mot de passe à la prochaine connexion sudo passwd -e username Méthode manuelle (mode recovery) : Pour supprimer manuellement un mot de passe, démarrez en mode live et modifiez le fichier /etc/shadow . Localisez la ligne correspondant à l'utilisateur et supprimez les caractères situés entre les deux premiers séparateurs « : ». Exemple pour l'utilisateur Michu : michu:$6$68oL9D6yVVCMTVswSb.51oFHz/:17999:0:99999:7::: Devient : michu::17999:0:99999:7::: Connexion par tunnel SSH (équivalent VPN) Cette méthode permet d'utiliser la connexion du serveur via un tunnel SSH. Tunnel SOCKS (Dynamic Port Forwarding) # Créer un tunnel SOCKS sur le port local 8080 ssh user@serveur -p port -D 8080 # Exemple avec l'utilisateur Michu ssh michu@158.136.345.678 -p 1234 -D 8080 Autres types de tunnels SSH # Tunnel local (Local Port Forwarding) ssh -L 8080:localhost:80 user@serveur # Tunnel distant (Remote Port Forwarding) ssh -R 8080:localhost:80 user@serveur # Tunnel avec compression ssh -C -D 8080 user@serveur # Tunnel en arrière-plan ssh -f -N -D 8080 user@serveur Configuration du proxy : Configurez votre navigateur pour utiliser le proxy SOCKS avec l'adresse 127.0.0.1 et le port 8080 . Note : L'option -p spécifie le port SSH s'il diffère du port par défaut (22). Personnalisation et automatisation Message d'accueil personnalisé (MOTD) # Créer un message d'accueil personnalisé sudo nano /etc/motd.d/01-custom Maintenance et optimisation du système Nettoyage APT [1] Suppression complète du cache (supprime tous les paquets de /var/cache/apt/archives) : sudo apt-get clean Nettoyage intelligent (conserve les paquets ayant des équivalents dans les dépôts, supprime les versions obsolètes) : sudo apt-get autoclean Cette approche de nettoyage permet de récupérer de l'espace disque tout en préservant les paquets utiles pour de futures réinstallations. Désactivation du compte root Méthodes de désactivation du compte root 1. Verrouiller le compte root sudo passwd -l root 2. Désactiver la connexion SSH pour root Éditer le fichier de configuration SSH : sudo nano /etc/ssh/sshd_config Modifier ou ajouter la ligne : PermitRootLogin no Redémarrer le service SSH : sudo systemctl restart ssh 3. Désactiver le compte root avec sudo Éditer le fichier sudoers : sudo visudo Ajouter la ligne pour restreindre totalement l'accès root : root ALL=(ALL) NOALL 4. Utiliser sudo à la place de root Créer un utilisateur avec des privilèges sudo : sudo adduser votreutilisateur sudo usermod -aG sudo votreutilisateur 5. Vérifier les restrictions Tester la connexion root : sudo -i Précautions supplémentaires Vérifier les connexions root : sudo grep root /var/log/auth.log Surveiller les tentatives de connexion : sudo last root Bonnes pratiques Utilisez toujours sudo pour les actions administratives Créez un utilisateur distinct avec des privilèges sudo Utilisez des mots de passe forts Configurez l'authentification à deux facteurs Mettez à jour régulièrement le système