Une modification ou un effacement du fichier /etc/securetty peut engendrer une faille dans le système. Théoriquement, seul l’administrateur a les autorisations suffisantes pour effacer ou pour modifier ce fichier. Néanmoins, la sécurité d’un système consiste à placer le plus de barrières possibles de manière à ralentir autant qu’il se peut le processus d’effraction.
Le fichier /etc/securetty doit donc être protégé contre les risques d’effacement ou de modification.
Les commandes UNIX traditionnelles ne permettent pas la sécurisation d’un fichier particulier. De nombreux concepteurs de systèmes UNIX ont apporté leurs extensions de manière à offrir plus de sécurité.
Le système GNU/Linux ne fait pas exception à cette règle et propose une commande permettant de sécuriser un fichier. Il s’agit de la commande chattr. Elle possède de nombreuses options dont une protégeant un fichier contre les modifications et l’effacement.
Voici un exemple de sécurisation du fichier /etc/securetty :
chattr +i securetty
Comme le montre la session interactive suivante, lorsqu’un fichier possède l’attribut i, même l’administrateur système ne peut le supprimer :
rm /etc/securetty
rm: détruire le fichier protégé en écriture `securetty'? y
rm: Ne peut délier `securetty'.: Opération non permise
Dans certains cas, l’administrateur doit connaître les attributs associés à un fichier. La commande lsattr permet de visualiser tous les attributs affectés à un fichier :
lsattr /etc/securetty
----i--- securetty
Toujours pour des raisons de sécurité, seul l’administrateur du système a le droit d’employer la commande lsattr pour visualiser les attributs affectés à un fichier.
Ajout de Old Tired Coder le 15/01/2022 : non, pas dans Debian 10. Le propriétaire des fichiers peut en lister les attributs sans élévation de ses privilèges.
Voici un exemple d’utilisation de la commande lsattr par un utilisateur normal :
lsattr /etc/securetty
lsattr: Permission non accordée While reading flags on securetty
Les tâches administratives peuvent conduire l’utilisateur root à modifier un fichier dont les attributs empêchent son effacement.
La commande chattr avec l’option moins permet d’enlever une protection.
Voici un exemple de suppression de l’attribut i placé sur le fichier /etc/securetty :
chattr -i /etc/securetty
rm /etc/securetty
rm: détruire `securetty'? y
ls /etc/securetty
ls: securetty: Aucun fichier ou répertoire de ce type