comment eviter la modification/suppression d'un fichier sous linux

Un système d’exploitation basé sur *Linux* n’a pas le concept de «corbeille» contrairement aux systèmes d’exploitation *Windows*. Par conséquent, sous Linux, si nous supprimons un fichier ou un répertoire, il est généralement considéré comme perdu à jamais, sauf si nous avons une sauvegarde. Bien qu'il existe quelques méthodes disponibles pour récupérer des données supprimées à partir d'un système de fichiers *Linux,* ces méthodes nécessitent l'utilisation de logiciels tiers et sont fastidieuses, pas très simples et complètes. La meilleure façon d'empêcher qu'un fichier ou un répertoire soit supprimé ou modifié accidentellement est peutêtre de l'interdire complètement. Sous Linux, cette fonctionnalité peut être obtenue en utilisant *le drapeau immuable*. Dans ce cour, nous allons expliquer ce qu'est *le drapeau immuable* et ensuite démontrer concrètement comment cela fonctionne.

*Que  ce  que le  drapeau immuable  (Immutable  flag)?*

L'indicateur immuable est un attribut étendu du système de fichiers et peut être défini à la fois sur les fichiers et les répertoires. Une fois l'indicateur immuable défini, le fichier ou le répertoire ne peut pas être modifié, renommé ou supprimé sans supprimer d'abord l'indicateur immuable. *Le drapeau immuable* peut être défini ou désactivé à l'aide de la commande *chattr*. La définition de l'indicateur immuable nécessite des privilèges *root.*

La commande *chattr*.

Le *chattr* (Change Attribute) est un utilitaire Linux de ligne de commande utilisé pour définir / désélectionner certains attributs d'un fichier sur un système Linux pour sécuriser la suppression ou la modification accidentelle de fichiers et dossiers importants même si vous êtes connecté en tant qu'utilisateur root. Voici une description de la commande chattr à partir de sa page de manuel (Mon System d’exploitation est en Anglais, vous pouvez essayer cela chez vous aussi:

Si un fichier est accessible avec l'attribut "A", son enregistrement n'est pas mis à jour.

Si un fichier est modifié avec l'attribut "S", les modifications sont mises à jour de manière synchrone sur le disque.


Un fichier est défini avec l’attribut "a", et ne peut être ouvert qu’en mode append pour l’écriture.


Un fichier est défini avec l'attribut "i", ne peut pas être modifié (immuable). Ne signifie aucun renommage, aucune création de lien symbolique, aucune exécution, aucune écriture, seul le superutilisateur peut supprimer l'attribut.

Un fichier avec l’attribut "j" est défini, toutes ses informations sont mises à jour dans le journal *ext3* avant d’être mises à jour dans le fichier lui même

Un fichier est défini avec l’attribut "t", pas de fusion de queue. Un fichier avec l'attribut "d" ne sera plus candidat à la sauvegarde lorsque le processus de vidage est exécuté.

Lorsqu'un fichier a un attribut "u", ses données sont enregistrées. Cela permet à l'utilisateur de demander sa suppression. Syntaxe d'utilisation de la commande *chattr:*

La syntaxe d'utilisation de la commande chattr est indiquée ci • chattr [opérateur] [drapdessous. eaux] [nom de fichier



Je vais vous montre une description des différents opérateurs disponibles avec la commande *chattr*

+: Ajoute l'attribut à l'attribut existant des fichiers.

-: Supprime l'attribut à l'attribut existant des fichiers.

=: Conserve les attributs existants des fichiers

*Manifestation*

 Maintenant que nous sommes familiarisés avec ce qui est *le drapeau immuable* et comment il pourrait être défini, il est temps de faire une démonstration pratique.

Créons un fichier nommé *nodel.txt,* puis vérifions s'il contient des attributs étendus définis à l'aide de la commande *lsattr*

Nous allons maintenant définir le drapeau immuable sur le fichier.

*[root@linuxnix ~]# chattr +i nodel.txt*
*[root@linuxnix ~]# lsattr no-del.txt ----i----------- no-del.txt [root@linuxnix ~]#*

Avec ces commandes, Si nous essayons d'apporter des modifications au fichier, nous ne serons plus autorisés à le faire, même si je suis connecté en tant qu'utilisateur *root.*


Fin du cours

Pour des questions veuillez laisser un commentaire svp

Commentaires