Empêcher un fichier d’être modifié ou supprimé

Il est possible d’empêcher n’importe quel fichier d’être modifié, supprimé ou même renommé, et ce, par par n’importe quel utilisateur, root y compris.

Comment faire ?

Pour faire cela il faut utiliser la commande : chattr qui modifie les attributs d’un fichier.

L’option qui nous intéresse est l’option « i » : « +i » pour activer la protection et « -i » pour désactiver cette protection .

Le « i » signifie immuable (ou immutable en anglais) qui veux dire « ne peuvent pas être modifiés ».

chattr peut aussi protéger des répertoires entiers. chattr doit être utilisé avec les privilèges root.

  • Protéger un fichier :

sudo chattr +i <fichier ou repertoire>

  • Retirer la protection d’un fichier protéger

sudo chattr -i <fichier ou repertoire>

Si vous appliquez ces commandes sur un répertoire, vous pouvez utilisez l’option « -R » pour exécutez la commande récursivement.

Exemples :

créons un fichier quelconque :

echo "Ceci est un fichier tres important." >important.txt

avec les droits root, utiliser chattr :

sudo chattr +i important.txt

Est-ce que l’utilisateur root peut modifier le fichier ?

chattr1

Est-ce que je peux renommé le fichier avec les droits super utilisateurs ?

chattr_rename

Est-ce que je peux le supprimé ?

chattr_delete

Si vous voulez pouvoir effectuer l’une de ces actions il faudra donc enlever la protection du fichier avec l’attribut « -i » comme nous l’avons-vu précédemment :

sudo chattr -i important.txt

 

traduction de l’article suivant : http://www.good-linux-tips.com/