Maison > Article > Opération et maintenance > Qu’est-ce que la commande chattr sous Linux ? Comment utiliser (exemple de code)
Nous savons que Linux est un système d'exploitation multi-utilisateurs et que les utilisateurs peuvent supprimer des fichiers qui intéressent beaucoup un autre utilisateur, comme un administrateur. Pour éviter cette situation, Linux fournit la commande "chattr". Ensuite, nous présenterons la commande chattr en détail, afin que chacun puisse comprendre brièvement comment utiliser la commande chattr.
Qu'est-ce que la commande chattr sous Linux ?
La commande chattr sous Linux est une commande de système de fichiers utilisée pour modifier les attributs des fichiers dans un répertoire. L'utilisation principale de cette commande est de rendre plusieurs fichiers impossibles à modifier par des utilisateurs autres que le superutilisateur.
Pour faire simple, la commande 'chattr' peut rendre le fichier immuable, non supprimable, uniquement annexable, etc. !
La syntaxe de chattr
#chattr [operator] [flags] [filename]
Au début de la chaîne flags de la commande chattr, l'un des éléments suivants les opérateurs doivent apparaître :
1. '+' : Ajoutez les attributs sélectionnés aux attributs existants du fichier.
2. '-' : Supprime l'attribut sélectionné.
3. ' = ' : Faire de l'attribut sélectionné le seul attribut du fichier.
Ce qui suit est une liste de propriétés communes et d'indicateurs associés (chaînes d'indicateurs) qui peuvent être définis ou désactivés à l'aide de la commande chattr :
A : les enregistrements atime ne sont pas mis à jour.
S : Les modifications sont mises à jour de manière synchrone sur le disque.
a : Les fichiers ne peuvent être ouverts en écriture qu'en mode ajout.
i : Le fichier ne peut pas être modifié (immuable), seul le superutilisateur peut supprimer les attributs.
j : Toutes les informations sur le fichier sont mises à jour dans le journal ext3 avant la mise à jour dans le fichier lui-même.
t : La fusion de queues n'est pas autorisée.
d : Il n'y a plus de candidats de sauvegarde lors de l'exécution du processus de vidage.
u : Lors de la suppression d'un tel fichier, ses données sont enregistrées, permettant à l'utilisateur de lui demander d'annuler la suppression.
Cependant, toutes les commandes ci-dessus ne sont pas éligibles pour les fichiers et peuvent être utilisées sur des répertoires (dossiers) pour protéger les répertoires contre la suppression ou tout autre incident similaire. Cependant, lors de la protection de répertoires, il est recommandé d'utiliser l'indicateur -R' pour protéger de manière récursive tout ce qui se trouve dans le répertoire spécifié.
Voici les différentes options de la commande chattr :
-R : Liste les propriétés pour afficher les répertoires et leur contenu de manière récursive.
-V : Il affichera la version du programme.
-a : Utilisé pour lister tous les fichiers d'un répertoire, y compris les répertoires dont les noms commencent par un point ('.').
-d : Cette option répertorie le répertoire comme un fichier normal au lieu de répertorier son contenu.
-v : Utilisé pour afficher le numéro de version/génération du fichier, etc.
Comment utiliser la commande Chattr ?
1. Ajoutez des attributs sur le fichier
Créez un nouveau fichier pour le tester. Par exemple, un nouveau fichier tecadmin.txt a été créé à l'aide de la commande touch et 777 autorisations ont été attribuées au fichier.
# touch tecadmin.txt # chmod 777 tecadmin.txt # ls -l tecadmin.txt -rwxrwxrwx 1 root root 0 Apr 10 13:10 tecadmin.txt
Activez maintenant l'attribut i file
# chattr +i tecadmin.txt
Puisque nous avons activé l'attribut i file, essayons de supprimer ce fichier, nous recevrons l'erreur d'invite rm suivante, même si le fichier dispose de 777 autorisations.
# rm -f tecadmin.txt rm: cannot remove `tecadmin.txt': Operation not permitted
2. Supprimer les attributs du fichier
Pour effacer les attributs du fichier, utilisez simplement le signe (-) des attributs joints. Par exemple dans tecadmin.txt.
# chattr -i tecadmin.txt # lsattr tecadmin.txt ------------- tecadmin.txt
3. Protéger le répertoire
Flag + i' peut être utilisé sur le répertoire (comme indiqué ci-dessous) pour rendre le répertoire immuable ; R' est utilisé, rend l'appel récursif afin que tous les sous-fichiers et répertoires soient également immuables. Cela protège l'intégralité du répertoire et ses fichiers. Exemple : dossier dossier
#chattr -R + i folder/
Supprimez/supprimez maintenant le dossier et ses fichiers, vous recevrez l'erreur suivante demandée par rm
#rm -rf folder / rm: cannot remove ‘ folder/’ : Operation not permitted
Utilisez à nouveau le commutateur '-R', L'indicateur '-i' et le chemin complet vers le dossier pour supprimer les autorisations.
# chattr -R -i folder/ # rm -rf folder/
Le répertoire du dossier est supprimé avec succès.
Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!