chattr: La protection maximale des fichiers / dossiers sous Linux par des attributs ou des indicateurs

Bon ... tout ne peut pas être des jeux, ce n'est pas mon intention de publier uniquement des articles parlant de jeux 😉 ... je ne suis pas un utilisateur qui joue beaucoup, chez moi je laisse ça à ma copine (qui est maintenant accro Sims 4), c'est pourquoi cela me motive davantage à publier des articles plus techniques, sur des commandes ou des astuces dans le terminal.

Sous Linux, nous avons quelques permis qui résolvent certainement presque tous les problèmes, nous pouvons déterminer quel utilisateur ou groupe d'utilisateurs a accès à une certaine ressource, dossier, service. Cependant, il y a des moments où les autorisations ne sont pas exactement ce dont nous avons besoin, car il y a des situations dans lesquelles nous voulons que même root ne puisse pas faire une certaine action.

Supposons que nous ayons un dossier ou un fichier que nous ne souhaitons pas supprimer, allons-y ... ni par notre utilisateur, ni par un autre sur l'ordinateur (ehm ... ma copine par exemple haha), ou même pas root ne peut le supprimer, comment y parvenir? ... les permissions ne nous aideront pas car root est le putain de maître, il pourra tout supprimer, c'est donc là que les attributs du fichier ou du dossier entrent en jeu.

chattr + i

Supposons que nous voulions protéger un fichier pour qu'il ne puisse pas être supprimé, c'est: mots de passe.txt , votre emplacement est (par exemple) $ HOME / passwords.txt

Pour définir un attribut en lecture seule (c'est-à-dire sans modification ni suppression), ce serait:

sudo chattr +i $HOME/passwords.txt

Comme vous pouvez le voir, nous avons besoin d'autorisations d'administration pour le paramètre + i, ce qui, au fait, + i signifie que le fichier sera immuable, vous savez, il ne peut pas être supprimé, il ne peut en aucun cas changer.

Ensuite, vous pouvez essayer de supprimer le fichier, même en utilisant sudo ... vous verrez que vous ne pourrez pas, voici une capture d'écran:

chattr_1

Pour lister ou voir les attributs d'un fichier, nous pouvons utiliser la commande lsattr, par exemple:

lsattr passwords.txt

Ensuite, pour supprimer la protection au lieu d'utiliser +i nous utilisons -i et voila 😉

chattr + a

Comme nous venons de le voir, le paramètre + i nous permet de le protéger complètement, mais il y a eu des moments où j'ai besoin d'un certain fichier pour pouvoir être modifié, MAIS sans altérer son contenu d'origine. Par exemple, j'ai une liste et je veux que de nouvelles lignes et informations soient ajoutées en utilisant echo, mais sans modifier les précédentes, pour ceci:

sudo chattr +a $HOME/passwords.txt

Une fois cela fait, essayons d'écrire quelque chose de nouveau dans le fichier:

echo "Prueba" > $HOME/passwords.txt

Vous remarquerez que vous obtenez une erreur ... cependant, si nous ajoutons du contenu au lieu de remplacer (en utilisant >> et non>):

echo "Prueba" >> $HOME/passwords.txt

Ici nous pouvons.

La fin!

Je connais quelqu'un de bien informé quand ils voient que même avec root ne peut pas supprimer / modifier un fichier pourrait vérifier ses attributs ... mais, bon! … Combien de fois que vous remarquez quelque chose comme ça arrêtez-vous de penser aux attributs? ... Je dis cela parce qu'en général on pense simplement que le disque dur ou son secteur est corrompu, ou que le système est tout simplement devenu fou 😀

Eh bien, il n'y a pas grand-chose à ajouter ... Je pense que je vais l'utiliser à partir de +i pour arrêter le téléchargement de quelque chose que ma copine est en train de télécharger ... ¬_¬ ... ehm ... elle ne voulait pas télécharger les sims 4 libre? … Je pense que je vais vous apprendre une chose ou deux sur les licences et qu'elles ne devraient pas être violées 😀

Salutations!


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   cesser dit

    Intéressant de connaître cet outil, que se passe-t-il s'il me suscite une certaine curiosité, d'une certaine manière ce ne serait pas quelque chose de similaire aux autorisations de bits? Ie setuid, setgid et sticky bit? Si non, pourquoi? Oo

    PS: j'ai perdu le compte des fois où tu dis ma copine dans cet article hahaha

    1.    Hugo dit

      Car c'est aussi un peu, le bit d'immuabilité, et il est conçu pour que personne ne puisse modifier ou supprimer le fichier auquel il s'applique (pas même root). Je l'utilise par exemple pour protéger les fichiers de configuration en écriture, ce qui est particulièrement utile dans les distributions comme Zentyal (c'est un moyen beaucoup plus rapide de personnaliser la configuration qu'en éditant ou en créant des modèles).

      En combinant cette commande avec chown, chmod et setfacl, des choses intéressantes peuvent être accomplies.

      FreeBSD a quelque chose de similaire, que j'utilise également pour mon pfSense.

    2.    Jean dit

      Hahaha c'est une phase connue.
      http://www.xkcd.
      com / 684 /

  2.   niandekuera dit

    [Dr. Bolivar Trask] $ sudo chattr + i * .human

  3.   Tesla dit

    Très bon ordre. Je ne la connaissais pas.

    Cela peut être très utile si nous partageons un PC ou si nous avons un certain document sur lequel nous travaillons et que nous ne voulons pas supprimer pour le monde.

    Merci et salutations!

  4.   Luis dit

    Très intéressant.

    Quelque chose de similaire pourrait-il être fait afin que ROOT ne puisse pas accéder à un certain dossier sur notre page d'accueil?

    1.    Tesla dit

      Selon l'article, avec cette commande, même pas root ne peut accéder au fichier. Je suppose que la même chose s'applique aux dossiers, car dans les dossiers Linux, il y a aussi des fichiers, non?

  5.   Joaquin dit

    Quelle coïncidence. Ce week-end, j'ai essayé de supprimer une partition racine et je n'ai pas pu supprimer un fichier du répertoire / boot. En cherchant, j'ai trouvé les attributs, honnêtement, je ne les connaissais pas et je comprends maintenant que le problème des autorisations et des attributs dans un fichier est très important. C'est une de ces commandes essentielles que nous devons connaître, avec "chmod" et "chown".

  6.   Aguatemala dit

    Ceci est extrêmement utile, surtout si, par exemple, nous voulons changer le DNS par défaut de notre FAI respectif, et c'est à ce moment que nous devons modifier le fichier /etc/resolv.conf et pour ce faire nous devons faire chattr -i /etc/resolv.conf, modifiez les IP qui apparaissent pour celles de nos DNS gratuits et / ou gratuits (comme celles d'OpenDNS 208.67.222.222 et 208.67.220.220 ou celles de Google 8.8.8.8 et 8.8.4.4) et après avoir modifié le fichier make chattr + i /etc/resolv.conf à nouveau pour que le fichier ne soit pas modifié au démarrage de la machine.
    Super article ... et au fait, ta copine est comme ma femme, tout aussi accro aux jeux, hahahahaha

  7.   brutBasique dit

    Clairement, «le putain de maître» est votre petite amie dans cette situation. xD