lsattr - chattr
Introduction
Il existe pour le système de fichiers Second Extended Filesystem (ext2) donc également pour le Third Extended Filesystem (ext3) des attributs de fichiers trop peu connus, et pourtant très pratiques.
Pour visualiser ou fixer ces attributs, nous avons à notre disposition deux commandes (contenues dans e2fsprogs),
lsattr et
chattr.
lsattr
Permet de lister les attributs.
Les différentes invocations:
lsattr [ files ... ] [ dir ... ]
Affiche les attributs des fichiers donnés, des fichiers des dossiers donnés, des fichiers du dossier courant.
lsattr -d [ dir ... ]
Affiche les attributs des dossiers donnés, ou du dossier courant plutôt que ceux de leur contenu.
lsattr -a
Liste les attributs de tout les fichiers.
lsattr -R dir
Liste récursivement les attributs des fichiers.
chattr
Permet de fixer les attributs.
Les différentes invocations:
chattr +attr file
chattr -attr file
chattr =attr file
Sur le même principe de fonctionnement que
chmod
+attr ajoute l'attribut
-attr retire l'attribut
=attr ne laisse ques les attributs donnés
L'option -R permet de changer récursivement les attributs.
Les attributs
Ils sont au nombre de seize, tous identifiables par une lettre [ASacDdIijsTtuEXZ]
-A
La date de dernier accès n'est pas mise à jour (uniquement utile pour réduire les accès disque sur les portables)
-S
Le fichier est synchrone, les écritures dans le fichier sont immédiatement effectuées sur le disque. (équivalent à l'option sync de mount appliquée à un sous ensemble de fichiers)
-a
Le fichier ne peut être ouvert qu'en ajout pour l'écriture (fichiers journaux, etc)
Seule la redirection
>> peut être utilisée, le fichier ne peut être supprimé.
Seul l'utilisateur root ou un programme disposant des droits nécessaires peut changer cet attribut.
-c
Le fichier est automatiquement compressé avant l'écriture sur le disque, et décompressé avant la lecture.
-D
Le dossier est synchrone (cf: -S) (équivalent à l'option dirsync de mount sur un sous ensemble de dossiers)
Utilisable à partir du noyau 2.5.19
-d
Le fichier ne sera pas sauvegardé par la commande
dump
-I
Ne peut être fixé par
chattr, uniquement listé par
lsattr
Indique que le dossier est indexé.
-i
Le fichier/répertoire ne peut être modifié, effacé, renommé ou lié symboliquement, pas même par root.
Seul root ou un binaire possédant les droits nécessaires peut fixer cet attribut.
-j
EXT3 uniquement.
Si le système de fichier est monté avec l'option "data=ordered" ou "data=writeback", toute les données du fichiers sont écrites sur le journal avant d'être écrites dans le fichier lui-même.
Si le système de fichier est monté avec l'option "data=journal", toute les données de tous les fichiers sont déjà dans le journal, l'attribut est sans effet.
Seul root ou un binaire possédant les droits nécessaires peut fixer cet attribut.
-s
Quand le fichier est détruit, tout les blocs de données libérés sont mis à zéro.
-T
Utilisable à partir de la version 2.5.46 du noyau.
Pas trouvé plus d'infos pour le moment.
-t
Concerne la fragmentation.
Ceci n'est pour le moment pas implémenté sur l'ext2 et l'ext3 à ma connaissance.
-u
Si le fichier est effacé, son contenu est sauvegardé, cela permet à l'utilisateur de demander sa restauration.
-E
Expérimental, permet de détecter une erreur de compression, ne peut être fixé par
chattr, mais peut être listé par
lsattr
-X
Expérimental, indique que les données brutes d'un fichier compressé peuvent être accédées directement.
Ne peut pour le moment être fixé par
chattr
-Z
Expérimental, donne des informations sur l'état d'un fichier compressé.
peut être uniquement listé par
lsattr
Les attributs
A c s et
u ne peuvent être utilisés qu'à partir d'un noyau 2.3, mais ne sont pas implémentés dans les noyaux 2.4, cela semble être le cas dans les noyaux 2.6.
Dans tout les cas, je vous invite à vérifier le bon fonctionnement de tout ces attributs avant d'en faire usage ! :)