Sous Linux, les attributs de fichier sont des propriétés de métadonnées qui décrivent le comportement du fichier. Par exemple, un attribut peut indiquer si un fichier est compressé ou spécifier si le fichier peut être supprimé.
Certains attributs comme l'immuabilité peuvent être définis ou effacés, tandis que d'autres comme le chiffrement sont en lecture seule et ne peuvent être affichés. La prise en charge de certains attributs dépend du système de fichiers utilisé.
Cet article explique comment utiliser le chattr
commande pour modifier les attributs de fichier sur les systèmes de fichiers Linux.
chattr
Syntaxe #
Le chattr
commande prend la forme générale suivante :
chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE...
La valeur de [OPERATOR]
part peut être l'un des symboles suivants :
+
- L'opérateur plus indique lechattr
pour ajouter des attributs spécifiés à ceux existants.-
- L'opérateur moins indique lechattr
pour supprimer les attributs spécifiés de ceux existants.=
- L'opérateur égal indique lechattr
pour définir les attributs spécifiés comme seuls attributs.
L'opérateur est suivi d'un ou plusieurs [ATTRIBUTES]
drapeaux que vous souhaitez ajouter ou supprimer des attributs de fichier. Vous trouverez ci-dessous une liste de quelques attributs courants et des drapeaux associés :
a
- Lorsque cet attribut est défini, le fichier ne peut être ouvert qu'en mode ajout pour l'écriture.A
- Lorsqu'un fichier avec cet ensemble d'attributs est ouvert, son enregistrement atime n'est pas modifié. atime (heure d'accès) est la dernière fois que le fichier a été accédé/ouvert par une commande ou une application.e
- Cet attribut indique que le fichier utilise des extensions pour mapper les blocs sur le disque. Lee
l'attribut ne peut pas être modifié avecchattr
.i
- Cet attribut indique que le fichier est immuable, ce qui signifie que le fichier ne peut pas être supprimé ou renommé.
Pour une liste complète de tous les attributs et drapeaux de fichiers, tapez man chattr
dans votre terminal.
Par défaut, les attributs de fichier ne sont pas conservés lors de la copie d'un fichier avec des commandes telles que cp
ou rsync
.
chattr
Exemple #
L'une des utilisations courantes de chattr
consiste à définir l'indicateur immuable sur un fichier ou un répertoire pour empêcher les utilisateurs de supprimer ou de renommer le fichier.
Vous pouvez afficher les attributs du fichier avec le lsattr
commande :
lsattr todo.txt
La sortie ci-dessous montre que seul le e
l'indicateur est défini :
--------------e----- todo.txt
Pour rendre le fichier immuable, ajoutez le i
drapeau avec le +
opérateur aux attributs existants :
sudo chattr +i todo.txt
Nous utilisons sudocar seul root peut modifier l'indicateur immuable.
Confirmez que l'attribut est ajouté :
lsattr todo.txt
----i---------e----- todo.txt
Pour annuler les modifications et supprimer l'indicateur immuable, utilisez le -
opérateur :
sudo chattr +i todo.txt
Avec chattr
, vous pouvez ajouter ou supprimer plusieurs attributs à la fois. Par exemple, pour rendre le fichier immuable et indiquer au noyau de ne pas suivre l'heure du dernier accès, vous utiliserez :
sudo chattr +iA todo.txt
Le dernier opérateur que vous pouvez utiliser est le =
opérateur. Par exemple, pour définir le e
attribut comme seul attribut, vous exécuteriez :
sudo chattr "=e" todo.txt
Notez que l'opérateur et le drapeau sont entourés de guillemets, pour éviter l'interprétation par le shell du +
caractère.
Conclusion #
chattr
est un outil en ligne de commande pour modifier les attributs de fichier sur un système de fichiers Linux.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.