Fichiers système Linux
| Fiche express | |
|---|---|
| Domaine | Fichiers de configuration système de base (bannières, comptes, réseau) |
| Emplacement | /etc/
|
| Contexte | Fichiers texte indépendants, lus au login ou au boot — pas de service à redémarrer pour la plupart |
| Voir aussi | Fstab (montages), Systemctl |
Panorama de quelques fichiers de configuration système sous /etc/, souvent oubliés
parce qu'ils changent rarement, mais utiles à connaître pour personnaliser une bannière de
connexion, comprendre la liste des shells ou protocoles disponibles, ou retrouver les valeurs
par défaut d'un fichier modifié par erreur.
Bannières et message du jour
Trois fichiers texte affichés à différents moments de la connexion :
/etc/issue # bannière affichée avant l'invite de connexion locale (console/getty)
/etc/issue.net # bannière affichée avant l'invite de connexion SSH
/etc/motd # message affiché juste après une connexion réussie (« message of the day »)
Pour que /etc/issue.net soit effectivement utilisé par SSH, il faut que
sshd_config contienne Banner /etc/issue.net (souvent absent par
défaut). Les deux fichiers /etc/issue* acceptent quelques séquences d'échappement
(\n pour le nom d'hôte, \r pour la version du noyau...), voir
man issue.
Modèle des nouveaux comptes : /etc/skel
Le contenu de /etc/skel est copié tel quel dans le répertoire personnel de tout
nouvel utilisateur créé avec useradd -m (fichiers de config shell par défaut
comme .bashrc, .profile...). Modifier /etc/skel
n'affecte que les comptes créés après coup, pas les comptes existants.
Purge automatique du spool des mails
Tâche cron classique pour éviter que /var/spool/mail (ou /var/spool/mqueue) ne
sature le disque avec des mails système jamais lus :
find /var/spool/ -type f -size +1500 -ctime +15 -delete
Supprime les fichiers de plus de 1500 blocs de 512 octets (environ 750 Ko) dont le statut
(ctime) n'a pas changé depuis plus de 15 jours. Adapter les seuils
-size/-ctime au volume réel de mails système du serveur avant de
déployer ce genre de purge en cron.
Fichiers de référence réseau et comptes
/etc/protocols # table des protocoles IP connus (numéro <-> nom, ex: tcp = 6, udp = 17)
/etc/services # table des services réseau connus (nom <-> port/protocole, ex: ssh = 22/tcp)
/etc/shells # liste des shells de login valides sur la machine (chsh, useradd -s, PAM la consultent)
/etc/securetty # liste des terminaux depuis lesquels root peut se connecter directement
Un terminal absent de /etc/securetty refuse la connexion root en direct (utile
pour forcer le passage par su/sudo depuis un compte nommé) — ce
fichier n'est consulté que pour le login local, pas pour SSH (qui a son propre réglage
PermitRootLogin).
Réinitialiser /etc/services et /etc/protocols
Si l'un de ces fichiers a été corrompu ou mal édité, le paquet netbase (Debian/Ubuntu)
fournit les versions par défaut de /etc/services, /etc/protocols,
/etc/rpc et /etc/ethertypes — les réinstaller restaure ces fichiers
à leur contenu d'origine :
apt-get --reinstall --purge install netbase