chattr - Modifier les attributs des fichiers d'un système
de fichiers Linux
chattr [ -RVf ] [ -v version ] [
-p projet ] [ mode ] fichiers ...
chattr modifie les attributs des fichiers d'un
système de fichiers Linux.
Le format d'un mode symbolique est de forme
+-=[aAcCdDeFijmPsStTux].
L'opérateur « + » permet
d'ajouter les attributs sélectionnés à la liste des
attributs du fichier ; « - »
permet de les enlever ; et « = »
permet de définir les seuls attributs qu'auront les fichiers.
Les lettres
« aAcCdDeFijmPsStTux »
sélectionnent les nouveaux attributs des fichiers : ajout
uniquement (a : append), pas de mise à jour de la date
d'accès (A : no atime updates), compressé
(c : compressed), pas de copie sur écriture
(C : no copy on write), pas de dump (d : no
dump), mises à jour synchrones des répertoires
(D : synchronous directory updates), format étendu
(e : extent format), recherches de répertoire
insensibles à la casse (F : case-insensitive directory
lookups), immuable (i : immutable), journalisation des
données (j : data journalling), non compressé
(m : don't compress), hiérarchie de projet
(P : project hierarchy), suppression sécurisée
(s : secure deletion), mises à jour synchrones
(S : synchronous updates), pas de fusion des fins de fichiers
(t : no tail-merging), répertoire racine
(T : top of directory hierarchy), non supprimable
(u : undeletable) et accès direct aux fichiers
(x : direct access for files).
Les attributs suivants sont en lecture seule. Ils peuvent
être affichés par lsattr(1), mais ne peuvent pas
être modifiés par chattr(1) : chiffré
(E : encrypted), répertoire indexé
(I : indexed directory), données internes
(N : inline data) et vérité (V :
verity).
Tous les attributs ne sont pas pris en charge ou utilisés
par l'ensemble des systèmes de fichiers. Veuillez vous
référer aux pages de manuel spécifiques telles que
btrfs(5), ext4(5), mkfs.f2fs(8) et xfs(5) pour
les détails particuliers à chaque système de
fichiers.
- -R
- Modifier récursivement les attributs des répertoires et de
leurs contenus.
- -V
- Être bavard dans la sortie de chattr et afficher la version
du programme.
- -f
- Supprimer la plupart des messages d'erreur.
- -v version
- Fixer le numéro de version ou de création du fichier.
- -p projet
- Définir le numéro de projet du fichier.
- a
- Un fichier avec l'attribut « a » ne peut
être ouvert qu'en mode ajout pour l'écriture. Seul le
superutilisateur ou un processus avec la capacité
CAP_LINUX_IMMUTABLE peut ajouter ou supprimer cet attribut.
- A
- Quand on accède à un fichier avec l'attribut
« A », sa date d'accès
(« atime ») n'est pas modifiée. Cela
évite un certain nombre d'entrées-sorties sur les
ordinateurs portables.
- c
- Un fichier avec l'attribut « c » est
automatiquement compressé sur le disque par le noyau. La lecture du
fichier renverra les données non compressées. Les
écritures dans le fichier compressent les données avant de
les enregistrer sur le disque. Remarque : assurez-vous de lire la
section sur les bogues et limitations à la fin de ce document
(Remarque : pour btrfs, si l'attribut
« c » est positionné, l'attribut
« C » ne peut pas être
positionné. Est aussi en conflit avec l'option de montage
« nodatasum » de btrfs).
- C
- Un fichier avec l'attribut « C » ne sera pas
concerné par les mises à jour de copie sur écriture
(« copy-on-write » ou
« COW »). Ce drapeau n'est pris en charge que
sur les systèmes de fichiers qui réalisent de la copie sur
écriture. (Remarque : pour btrfs, l'attribut
« C » devrait être défini sur
les fichiers nouveaux ou vides. S'il est défini sur un fichier qui
a déjà des blocs de données, il est retiré
quand les blocs assignés au fichier sont complètement
stables. Si l'attribut « C » est défini
sur un répertoire, il n'aura pas d'effet sur le répertoire,
mais les nouveaux fichiers créés dans ce répertoire
auront l'attribut No_COW. Si l'attribut « C »
est positionné, « c » ne peut pas
être positionné).
- d
- Un fichier avec l'attribut « d » n'est pas
candidat pour être sauvegardé par le programme
dump(8).
- D
- Quand un répertoire avec l'attribut
« D » est modifié, les modifications
sont écrites de façon synchrone sur le disque ; c'est
équivalent à ce que fait l'option
« dirsync » de mount, mais
limité à un sous-ensemble de fichiers.
- e
- L'attribut « e » indique que le fichier
utilise des extensions pour la correspondance des blocs sur le disque. Il
ne peut être supprimé avec chattr(1).
- E
- Un fichier, répertoire ou un lien symbolique où l'attribut
« E » est défini est chiffré par
le système de fichiers. Cet attribut ne peut pas être
ajouté ou retiré avec chattr(1), il est tout de
même affiché par lsattr(1).
- F
- Un répertoire où apparaît l'attribut
« F » indique que toutes les recherches de
chemins dans ce répertoire se font de façon insensible
à la casse. Cet attribut ne peut être modifié que
dans des répertoires vides sur des systèmes de fichiers
où la fonctionnalité casefold est
activée.
- i
- Un fichier avec l'attribut « i » ne peut pas
être modifié : il ne peut pas être
supprimé ou renommé, aucun lien ne peut être fait
vers lui, la plupart des métadonnées ne peuvent pas
être modifiées et on ne peut y accéder en
écriture. Seul le superutilisateur ou un processus doté de
la capacité CAP_LINUX_IMMUTABLE peut ajouter ou retirer cet
attribut.
- I
- L'attribut « I » sert au code des arbres de
hachage pour indiquer qu'un répertoire est en train d'y être
indexé. Il ne peut pas être ajouté ou retiré
avec chattr(1), il est tout de même affiché par
lsattr(1).
- j
- Un fichier avec l'attribut « j » aura toutes
ses données écrites dans le journal ext3 ou ext4 avant
qu'elles ne soient écrites dans le fichier lui-même, si le
système de fichiers est monté avec l'option
« data=ordered » ou avec l'option
« data=writeback » et s'il a un journal. Quand
le système de fichiers est monté avec l'option
« data=journal », toutes les données
sont déjà journalisées et cet attribut n'a aucun
effet. Seul le superutilisateur ou un processus avec la capacité
CAP_SYS_RESOURCE peut ajouter ou supprimer cet attribut.
- m
- Un fichier ayant l'attribut « m » est exclu de
la compression sur des systèmes de fichiers qui gèrent la
compression par fichier.
- N
- L'attribut « N » d'un fichier indique que les
données de ce fichier sont stockées en interne, à
l'intérieur même de l'inœud. Il ne peut pas
être ajouté ou retiré avec chattr(1), il est
tout de même affiché par lsattr(1).
- P
- Un répertoire où l'attribut
« P » est défini renforcera sa
structure hiérarchique pour les ID des projets. Cela veut dire que
les fichiers et les répertoires créés dans ce
répertoire hériteront de l'ID du projet du
répertoire, les opérations de renommage sont contraintes de
sorte que quand on déplace un fichier ou un répertoire dans
un autre répertoire, l'ID du projet devra correspondre. De plus, un
lien en dur vers un fichier ne peut être créé que
lorsque l'ID du projet pour le fichier et pour le répertoire de
destination correspondent.
- s
- Quand un fichier avec l'attribut « s » est
supprimé, ses blocs sont mis à zéro et écrits
sur le disque. Remarque : assurez-vous de lire la section sur les
bogues et limitations à la fin de ce document.
- S
- Quand un fichier avec l'attribut « S » est
modifié, les modifications sont écrites de façon
synchrone sur le disque ; c'est équivalent à ce que
fait l'option « sync » de mount, mais
limité à un sous-ensemble de fichiers.
- t
- Un fichier avec l'attribut « t » n'aura pas de
bloc partiel en fin de fichier fusionné avec d'autres fichiers
(pour les systèmes de fichiers permettant le
« tail-merging »). Cela est nécessaire
pour des applications comme LILO, qui lisent le système de fichiers
directement et ne reconnaissent pas le
« tail-merging ». Remarque : au moment
de l'écriture de cette page de manuel, les systèmes de
fichiers ext2, ext3 et ext4 ne gèrent pas le
« tail-merging ».
- T
- Un répertoire avec l'attribut « T » va
se faire passer pour le répertoire de plus haut niveau
auprès de l'allocateur de blocs Orlov. Il s'agit pour l'allocateur
de blocs utilisé par ext3 et ext4 d'une indication que les
sous-répertoires de ce répertoire ne sont pas liés et
devraient donc être dispersés à différents
endroits lors des allocations. Appliquer l'attribut
« T » sur le répertoire /home est par
exemple une très bonne idée, ce qui permet à
/home/jean et /home/marie d'être placés dans
différents groupes de blocs. Pour les répertoires qui n'ont
pas cet attribut, l'allocateur de blocs Orlov essaiera de grouper les
sous-répertoires le plus près possible les uns des
autres.
- u
- Quand un fichier avec l'attribut « u » est
supprimé, son contenu est sauvegardé. Cela permet à
l'utilisateur de demander sa récupération. Remarque :
assurez-vous de lire la section sur les bogues et limitations à la
fin de ce document.
- x
- Un fichier avec l'attribut « x » requiert
l'utilisation du mode d'accès direct (dax), si le noyau prend en
charge DAX. Cela peut être annulé par l'option de montage
« dax=never ». Pour plus d'information,
consultez la documentation du noyau :
<https://www.kernel.org/doc/html/latest/filesystems/dax.html>.
- Si l'attribut est positionné sur un répertoire existant, il
sera récupéré par tous les fichiers et les
sous-répertoires créés par la suite dans le
répertoire. Si un répertoire existant contient des fichiers
et des sous-répertoires, la modification de l'attribut du
répertoire parent ne modifie pas ceux de ces fichiers et de ces
sous-répertoires.
- V
- Un fichier où l'attribut « V » est
défini possède un fs-verity actif. On ne peut pas y
écrire et le système de fichiers vérifiera
automatiquement toutes les données lues par rapport à un
hachage de chiffrement qui couvre tout le contenu du fichier, par exemple
avec une arborescence Merkle. Cela rend possible une authentification
efficace du fichier. Cet attribut ne peut pas être ajouté ou
supprimé avec chattr(1), il est tout de même
affiché par lsattr(1).
chattr a été écrit par Rémy
Card <card@masi.ibp.fr> et est actuellement maintenu par Theodore Ts'o
<tytso@alum.mit.edu>.
Les attributs « c »,
« s » et « u » ne
sont pas respectés par les systèmes de fichiers ext2, ext3 et
ext4 tels qu'ils sont implémentés dans les noyaux Linux
actuels. Définir les attributs « a » et
« i » ne modifiera pas la possibilité
d'écrire dans des descripteurs de fichiers déjà
existants.
L'option « j » n'est utile que pour
les systèmes de fichiers ext3 et ext4.
L'option « D » n'est utile que sur les
noyaux Linux 2.5.19 et postérieurs.
chattr fait partie du paquet e2fsprogs et est disponible
sur http://e2fsprogs.sourceforge.net.
La traduction française de cette page de manuel a
été créée par Frédéric Delanoy
<delanoy_f@yahoo.com>, Thierry Vignaud <tvignaud@mandriva.com>,
Sébastien Blanchet, Emmanuel Araman <Emmanuel@araman.org>,
Éric Piel <eric.piel@tremplin-utc.net>, Nicolas François
<nicolas.francois@centraliens.net>, Romain Doumenc
<rd6137@gmail.com>, David Prévot <david@tilapin.org>,
Cédric Boutillier <cedric.boutillier@gmail.com> et
Jean-Philippe MENGUAL <jpmengual@debian.org>
Cette traduction est une documentation libre ; veuillez
vous reporter à la
GNU General
Public License version 3 concernant les conditions de copie et de
distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page
de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.