GNU/Linux >> Tutoriels Linux >  >> Linux

Tutoriel de commande Linux chattr pour les débutants (5 exemples)

Souvent, une machine Linux est utilisée par différents utilisateurs. Il y a donc des chances que ces utilisateurs accèdent à un ensemble commun de fichiers. Cela ouvre la porte à des problèmes tels que la suppression accidentelle ou la modification de fichiers importants, ce que vous - en tant qu'administrateur - ne voudriez certainement pas arriver.

Heureusement, il existe une commande - appelée chattr - qui est développé pour vous aider spécifiquement dans ces types de scénarios. Dans ce didacticiel, nous discuterons de cet outil à l'aide d'exemples faciles à comprendre. Mais avant cela, il convient de mentionner que tous les exemples ici ont été testés sur Ubuntu 18.04 LTS et Debian 10.

La commande Linux chattr

Fondamentalement, la commande chattr est utilisée pour modifier les attributs de fichier sur un système de fichiers Linux. Voici sa syntaxe :

chattr [ -RVf ] [ -v version ] [ mode ] files...

Et voici ce que dit la page de manuel :

       chattr changes the file attributes on a Linux file system.

       The format of a symbolic mode is +-=[aAcCdDeijsStTu].

       The  operator  '+'  causes  the  selected attributes to be added to the
       existing attributes of the files; '-' causes them to  be  removed;  and
       '=' causes them to be the only attributes that the files have.

       The  letters  'aAcCdDeijsStTu' select the new attributes for the files:
       append only (a), no atime updates (A), compressed (c), no copy on write
       (C), no dump (d), synchronous directory updates (D), extent format (e),
       immutable (i), data journalling (j), secure deletion  (s),  synchronous
       updates  (S),  no tail-merging (t), top of directory hierarchy (T), and
       undeletable (u).

       The following attributes are read-only, and may be listed by  lsattr(1)
       but  not  modified  by  chattr:  compression  error (E), huge file (h),
       indexed directory (I), inline data (N), compression raw access (X), and
       compressed dirty file (Z).

       Not  all  flags  are supported or utilized by all filesystems; refer to
       filesystem-specific man pages such as btrfs(5), ext4(5), and xfs(5) for
       more filesystem-specific details.

Voici quelques exemples sous forme de questions-réponses qui devraient vous donner une bonne idée du fonctionnement de la commande chattr.

Q1. Comment utiliser la commande chattr ?

Supposons que vous vouliez rendre un fichier en lecture seule. Il vous suffit donc d'exécuter la commande chattr avec l'option +i et le nom du fichier en entrée.

Par exemple :

chattr +i test.txt

La capture d'écran suivante montre qu'aucune autre opération n'a réussi sur le fichier une fois qu'il est devenu en lecture seule à l'aide de chattr.

Remarque  :Comme vous l'avez déjà observé, vous devez disposer des privilèges root pour utiliser la commande chattr.

Q2. Comment supprimer la restriction en lecture seule imposée par chattr ?

C'est simple - tout ce que vous avez à faire est d'utiliser l'option -i au lieu de +i. Par exemple :

chattr -i test.txt

Ainsi, vous pouvez voir que le facteur de lecture seule a été supprimé avec l'option -i.

Q3. Comment fournir une autorisation d'ajout uniquement à un fichier ?

Parfois, vous ne souhaitez peut-être pas une restriction complète sur un fichier. Ce que je veux dire, c'est que vous voudrez peut-être fournir aux utilisateurs un accès en ajout uniquement à un fichier, afin que de nouvelles informations puissent être ajoutées, mais que les informations existantes ne puissent pas être supprimées ou modifiées. Ceci est également possible en utilisant chattr via l'option +a.

chattr +a test.txt

Vous pouvez donc voir que nous pouvons ajouter au fichier maintenant, mais ne pouvons pas modifier les informations existantes dans le fichier ni supprimer le fichier. Pour inverser ce comportement, utilisez simplement l'option -a.

chattr -a test.txt

Q4. Comment appliquer une restriction à l'aide de chattr à tous les fichiers d'un répertoire ?

Cela peut être fait en utilisant le drapeau -R, qui vous permet de modifier de manière récursive les attributs des répertoires et leur contenu. Par exemple, si vous voulez que tous les fichiers à l'intérieur du test-dir répertoire en lecture seule, utilisez la commande chattr de la manière suivante :

chattr -R +i ./test-dir/

La capture d'écran suivante montre que la restriction en lecture seule a été appliquée avec succès à tous les fichiers du répertoire.

Q5. Comment vérifier les attributs chattr appliqués sur les fichiers ?

Jusqu'à présent, pour vérifier si un attribut chattr a été appliqué avec succès, nous avons essayé d'effectuer des opérations telles que la modification du fichier ou sa suppression. Mais il existe une commande distincte qui vous permet de voir facilement si les attributs ont été appliqués ou non. La commande en question est lsattr .

lsattr [FILENAME]

Par exemple, la capture d'écran suivante montre la sortie lsattr suggérant clairement que l'attribut 'i' a été appliqué à tous les fichiers du répertoire.

Juste pour reconfirmer, voici la sortie après l'utilisation de l'option -i.

Vous pouvez donc voir dans la capture d'écran ci-dessus que l'attribut en lecture seule a été supprimé de tous les fichiers.

Conclusion

Vous conviendrez probablement que chattr est un outil de ligne de commande incontournable si vous êtes un administrateur système ou si vous gérez des utilisateurs sur une machine Linux en général. L'utilisation efficace de la commande peut vous éviter bien des tracas. Cet article devrait être suffisant pour vous aider à démarrer avec la commande. Une fois que vous avez pratiqué les exemples dont nous avons parlé ici, rendez-vous sur la page de manuel de l'outil pour en savoir plus.


Linux
  1. Tutoriel de commande cd Linux pour les débutants (8 exemples)

  2. Tutoriel de commande Linux comm pour les débutants (5 exemples)

  3. Tutoriel de commande Linux df pour les débutants (8 exemples)

  4. Tutoriel de commande de date Linux pour les débutants (8 exemples)

  5. Tutoriel Linux du Command pour débutants (10 exemples)

Tutoriel de commande Linux nm pour les débutants (10 exemples)

Tutoriel de commande Linux OD pour les débutants (6 exemples)

Tutoriel de commande Linux w pour débutants (5 exemples)

Tutoriel de commande Linux passwd pour les débutants (8 exemples)

Tutoriel de commande Linux ss pour les débutants (8 exemples)

Tutoriel de commande Linux strace pour les débutants (8 exemples)