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 la 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 que les fichiers auront.
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) 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
- L'attribut « x » peut être
positionné sur un répertoire ou un fichier. S'il l'est 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 a 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.