%

Durcir Linux : Utiliser chattr

Article publié, le et modifié le
2 minutes de lecture

Cet article contient 408 mots.
Source brute de l'article :
Commit version : 297fd65

Description

Dans la continuité de mon article précédent Durcir Linux : modifier le partitionnement il est une commande intéressante à utiliser : chattr

Cet outil permet de modifier les attributs de fichiers, répertoires.

Il existe une option qui est fortement pratique : l’option i - dont le but est de rendre figé, immuable l’état d’un fichier, ou répertoire et d’interdire toute modification ultérieure, même par l’administrateur système, généralement nommé root.

Les répertoires à protéger, tout particulièrement, sont :

  • /bin,
  • /boot,
  • /etc,
  • /usr,
  • /root,
  • /sbin,
  • ainsi que les fichiers liés à : /initrd, /lib, /lib64, /vmlinuz

⇒ Pour protéger/figer/rendre immuable, un petit coup de commande :

chattr -R +i /bin /boot /etc /usr /root /sbin /lib* /initrd* /vmlinuz* 2> /dev/null
chattr -R -i /etc/adjtime /etc/blkid.tab /etc/mtab /etc/network/run /etc/udev/rules.d 2> /dev/null

Info

⇒ Pour enlever l’option i sur lesdits répertoires et fichiers, en question, il suffit d’écrire la commande ainsi :

chattr -R -i /boot /usr /bin /sbin /lib* /root /vmlinuz* /initrd* /etc 2> /dev/null

Mise en garde

Tout outil nécessitant une modification système, comme par exemple visudo, ou les outils de gestion de paquets, tels que ceux ci-dessous, impose la gymnastique de rendre muable avant leur usage, et d’avoir le réflexe de figer en suivant !

N’oubliez pas que si le système vous refuse l’action, c’est que vous avez probablement figer l’état de différents binaires. ;-)

apt, dpkg, synaptic

Ces commandes peuvent être insérées dans un script, pour vous faciliter la vie, et mieux, aussi vous devriez les intégrer à votre script de gestion apt.

Si jamais vous avez la bonne idée d’abuser de cette commande, veuillez comprendre absolument qu’avec les outils apt, dpkg, synaptic, - et très certainement, tout outil gérant l’installation logicielle -, il vous faudra :

  • utiliser l’option -i ;
  • utilisez l’outil d’installation logiciel,
  • et veillez à remettre l’option +i en suivant…

Vous êtes avertis, autrement vous seriez surpris par quelques dysfonctionnements.

Utilisation

Dans le fichier /etc/apt/apt.conf.d/00apt, ajouter :

  • en première ligne, dans l’invocation pre, un appel vers le script ci-dessous, tel que :
    DPkg::Pre-Invoke{
    "/repertoire/chattr_sys 0";
    (…)
    }
  • et, en dernière ligne, dans l’invocation post :
    DPkg::Post-Invoke {
    (…)
    "/repertoire/chattr_sys 1";
    }

Script shell

Fichier : chattr_sys

Vous pouvez retrouver la dernière version de ce script sur mon gitlab !

Documentation

Manpage

  • un coup de manpage, vous renseignera encore plus profondément : $ man chattr