Si vous cherchez à empêcher la modification, la suppression ou le changement de nom d'un fichier, vous devrez définir l'indicateur immuable dessus. Il peut être défini sur des fichiers ou des répertoires. Une fois l'indicateur immuable ajouté, les fichiers/dossiers ne peuvent plus être modifiés ou supprimés. Si vous avez ajouté un indicateur immuable et souhaitez apporter des modifications à vos fichiers, vous devrez supprimer l'indicateur immuable. Il s'agit d'un attribut de système de fichiers étendu.
Veuillez vous référer aux étapes suivantes pour définir l'indicateur immuable. Vous devrez vous connecter avec root pour définir l'indicateur immuable.
- Tout d'abord, nous allons créer un fichier nommé test.txt avec la commande ci-dessous.
# touch test.txt
- Utilisez la commande lsattr pour vérifier l'attribut étendu. Par défaut, seul 'e' est présent.
# lsattr test.txt
- Nous allons ajouter du contenu sur le fichier test.txt et cela devrait fonctionner correctement car nous n'avons encore apporté aucune modification.
# echo This is a test of immutable flage >> test.txt
# cat test.txt - Utilisons la commande chattr pour définir le drapeau +i. Ici, je veux dire immuable.
# sudo chattr +i test.txt
- Nous allons maintenant utiliser la commande ci-dessous pour vérifier l'immuabilité du fichier test.txt
# lsattr test.txt
Sortie :
----i---------e---- test.txt
- Conformément à la sortie ci-dessus, test.txt est désormais immuable. Nous allons essayer de modifier ou de supprimer le même fichier.
# echo test-modification >> test.txt
-bash: test.txt: Permission denied# rm -f test.txt
rm: cannot remove ‘test.txt’: Operation not permitted# mv test.txt test2.txt
mv: cannot move ‘test.txt’ to ‘test2.txt’: Operation not permittedSelon l'erreur ci-dessus, nous pouvons voir que le fichier n'a pas pu être modifié ou supprimé car nous y avons défini l'indicateur immuable. Veuillez noter que si vous définissez immuable sur l'un des dossiers, l'indicateur immuable sera défini pour des fichiers/dossiers entiers dans le même dossier.
- Si vous souhaitez apporter des modifications au même fichier, vous devrez supprimer l'immuable. La commande suivante supprimera l'indicateur immuable de n'importe quel fichier.
# chattr -i test.txt
- Nous allons vérifier que l'indicateur immuable n'est pas supprimé.
# lsattr test.txt
Sortie :
-------------e-- test.txt
Maintenant, vous pouvez modifier ou supprimer le fichier sans aucun problème.