CHATTR(1)

NOM
chattr - Modifier les attributs des fichiers d'un système de fichiers Linux

SYNOPSIS
chattr [ -RVf ] [ -v version ] [ -p projet ] [ mode ] fichiers ...

DESCRIPTION
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.

OPTIONS

-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.

ATTRIBUTS

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).

AUTEUR
chattr a été écrit par Rémy Card <card@masi.ibp.fr> et est actuellement maintenu par Theodore Ts'o <tytso@alum.mit.edu>.

BOGUES ET LIMITATIONS
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.

DISPONIBILITÉ
chattr fait partie du paquet e2fsprogs et est disponible sur http://e2fsprogs.sourceforge.net.

VOIR AUSSI
lsattr(1), btrfs(5), ext4(5), xfs(5)

TRADUCTION
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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.