Fiche mémo
Linux essentiel
Les emplacements, journaux et commandes à connaître pour administrer, enquêter ou répondre à un incident sur une machine Linux.
CJCADéfense
Fichiers et dossiers clés
| Chemin | Contenu |
|---|---|
| /etc/passwd | Comptes utilisateurs (sans mots de passe) |
| /etc/shadow | Hash des mots de passe, lisible par root seulement |
| /etc/group | Groupes et leurs membres |
| /etc/sudoers | Droits sudo (à éditer avec visudo) |
| /etc/crontab, /etc/cron.* | Tâches planifiées du système |
| /etc/systemd/system | Services et timers systemd |
| /etc/hosts | Résolution de noms locale |
| ~/.ssh/authorized_keys | Clés publiques autorisées à se connecter |
| ~/.bash_history | Historique des commandes de l'utilisateur |
| /tmp, /dev/shm | Dossiers temporaires accessibles en écriture à tous |
| /proc | Informations sur les processus en cours |
Journaux
| Journal | Contenu |
|---|---|
| /var/log/auth.log | Authentifications, sudo, SSH (Debian, Ubuntu) |
| /var/log/secure | Équivalent sur RHEL, CentOS, Fedora |
| /var/log/syslog | Journal général du système (Debian, Ubuntu) |
| /var/log/messages | Journal général (RHEL et dérivés) |
| /var/log/wtmp | Historique des connexions (lu avec last) |
| /var/log/btmp | Connexions échouées (lu avec lastb) |
| /var/log/audit/audit.log | Événements auditd |
| journalctl | Journal de systemd |
Permissions
| Notation | Signification |
|---|---|
| r / w / x | Lecture (4) / écriture (2) / exécution (1) |
| 755 | rwxr-xr-x : tout pour le propriétaire, lecture et exécution pour les autres |
| 644 | rw-r--r-- : fichier classique |
| 600 | rw------- : réservé au propriétaire (clés privées) |
| SUID (4000) | Le programme s'exécute avec les droits de son propriétaire |
| SGID (2000) | Exécution avec les droits du groupe ; héritage du groupe sur un dossier |
| Sticky bit (1000) | Dans un dossier, seul le propriétaire peut supprimer ses fichiers (/tmp) |
Commandes d'investigation
# Qui est connecté, qui s'est connecté w ; last -a | head ; lastb | head # Processus et arborescence ps auxf # Connexions réseau et ports en écoute ss -tulpn # Tâches planifiées de tous les utilisateurs ls -la /etc/cron.* ; for u in $(cut -d: -f1 /etc/passwd); do crontab -l -u "$u" 2>/dev/null; done # Services et timers actifs systemctl list-units --type=service --state=running ; systemctl list-timers # Fichiers modifiés ces dernières 24 h find / -xdev -mtime -1 -type f 2>/dev/null # Journal SSH depuis hier journalctl -u ssh --since yesterday