GNU/Linux >> Tutoriels Linux >  >> Linux

Comment empêcher la modification, la suppression et le changement de nom de fichier/répertoire sous Linux ?

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.

  1. Tout d'abord, nous allons créer un fichier nommé test.txt avec la commande ci-dessous.

    # touch test.txt
    
  2. Utilisez la commande lsattr pour vérifier l'attribut étendu. Par défaut, seul 'e' est présent.

    # lsattr test.txt
    
  3. 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
  4. Utilisons la commande chattr pour définir le drapeau +i. Ici, je veux dire immuable.

    # sudo chattr +i test.txt
  5. 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
  1. 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 permitted

    Selon 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.

  2. 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
  3. 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.


Linux
  1. Comment manipuler les noms de fichiers contenant des espaces et des caractères spéciaux sous Linux

  2. Comment rendre le fichier et le répertoire ineffaçables, même par racine sous Linux

  3. Comment activer l'indexation de fichiers et de répertoires apache sous Linux ou UNIX ?

  4. Comment gérer les autorisations/propriétés des fichiers et des répertoires sous Linux

  5. Étant donné un nom d'utilisateur Linux et un mot de passe, comment puis-je tester s'il s'agit d'un compte valide ?

Comment monter et démonter des systèmes de fichiers sous Linux

Comment copier des fichiers et des répertoires sous Linux

Comment utiliser les opérateurs de test de fichiers Bash sous Linux

Fichier hôte Linux :comment le modifier et l'utiliser ?

Empêcher les fichiers et les dossiers d'être supprimés ou modifiés accidentellement sous Linux

Comment travailler avec des liens durs et des liens souples sous Linux