En tant qu’administrateur, il est parfois nécessaire de protéger un fichier ou un répertoire d’un serveur.

Protection de fichiers et répertoire contre l’effacement sous linux avec chattr

Il est très facile de protéger un fichier ou un répertoire si le système de fichier est en Ext2, Ext3 ou Ext4.
Nous créons un nouveau fichier et un nouveau répertoire pour tester :

touch file && mkdir directory
lsattr file
---------------- file

Nous protégeons ce fichier et ce répertoire d’un éventuel effacement ou d’un changement de nom avec la commande chattr :

chattr +i file
chattr +i -R directory/

lsattr
----i----------- ./directory
----i----------- ./file

Maintenant, nous testons la protection en question :

rm -rf directory/
rm: cannot remove ‘directory/’: Operation not permitted
mv directory/ directory_new
mv: cannot move ‘directory/’ to ‘directory_new’: Operation not permitted

rm file
rm: cannot remove ‘file’: Operation not permitted
mv file file_new
mv: cannot move ‘file’ to ‘file_new’: Operation not permitted

Déprotection de fichiers ou répertoires sous linux

Pour retirer cette protection, il suffit d’utiliser à nouveau la commande chattr avec l’attribut “-i” :

chattr -i -R directory
chattr -i file

lsattr
---------------- ./directory
---------------- ./file