Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > Was ist der chattr-Befehl unter Linux? Verwendung (Codebeispiel)

Was ist der chattr-Befehl unter Linux? Verwendung (Codebeispiel)

青灯夜游
Freigeben: 2019-01-02 13:56:34
Original
4124 Leute haben es durchsucht

Wir wissen, dass Linux ein Mehrbenutzer-Betriebssystem ist und Benutzer Dateien löschen können, die einem anderen Benutzer sehr am Herzen liegen, beispielsweise dem Administrator. Um diese Situation zu vermeiden, bietet Linux den Befehl „chattr“. Als nächstes stellen wir den Befehl chattr im Detail vor, damit jeder kurz verstehen kann, wie der Befehl chattr verwendet wird.

Was ist der chattr-Befehl unter Linux? Verwendung (Codebeispiel)

Was ist der chattr-Befehl unter Linux?

Der Befehl chattr unter Linux ist ein Dateisystembefehl, der zum Ändern der Attribute von Dateien in einem Verzeichnis verwendet wird. Der Hauptzweck dieses Befehls besteht darin, dafür zu sorgen, dass mehrere Dateien nicht von anderen Benutzern als dem Superuser geändert werden können.

Um es einfach auszudrücken: Der Befehl „chattr“ kann die Datei unveränderlich, nicht löschbar, nur anhängbar usw. machen!

Die Syntax von chattr

#chattr [operator] [flags] [filename]
Nach dem Login kopieren

Am Anfang der Flags-Zeichenfolge des Chattr-Befehls muss einer der folgenden Operatoren stehen erscheint:

1. ' + ': Füge die ausgewählten Attribute zu den vorhandenen Attributen der Datei hinzu.

2. ' - ': Das ausgewählte Attribut löschen.

3. ' = ': Das ausgewählte Attribut zum einzigen Attribut der Datei machen.

Das Folgende ist eine Liste allgemeiner Eigenschaften und zugehöriger Flags (Flag-Strings), die mit dem Befehl chattr gesetzt oder deaktiviert werden können:

A: atime-Datensätze sind nicht vorhanden aktualisiert.

S: Änderungen werden synchron auf der Festplatte aktualisiert.

a: Dateien können nur zum Schreiben im Anhängemodus geöffnet werden.

i: Datei kann nicht geändert werden (unveränderlich), nur Superuser kann Attribute zurücksetzen.

j: Alle Dateiinformationen werden im ext3-Protokoll aktualisiert, bevor sie in der Datei selbst aktualisiert werden.

t: Tail Mering ist nicht erlaubt.

d: Beim Ausführen des Dump-Prozesses sind keine Backup-Kandidaten mehr vorhanden.

u: Beim Löschen einer solchen Datei werden deren Daten gespeichert, sodass der Benutzer sie auffordern kann, den Löschvorgang abzubrechen.

Alle oben genannten Befehle gelten jedoch nicht für Dateien und können für Verzeichnisse (Ordner) verwendet werden, um die Verzeichnisse vor dem Löschen oder anderen ähnlichen Pannen zu schützen. Beim Schutz von Verzeichnissen wird jedoch empfohlen, das Flag -R' zu verwenden, um alles im angegebenen Verzeichnis rekursiv zu schützen.

Im Folgenden sind die verschiedenen Optionen für den Befehl chattr aufgeführt:

-R: Eigenschaften zum rekursiven Anzeigen von Verzeichnissen und deren Inhalten auflisten.

-V: Es wird die Version des Programms angezeigt.

-a: Wird verwendet, um alle Dateien in einem Verzeichnis aufzulisten, einschließlich Verzeichnissen, deren Namen mit einem Punkt ('.') beginnen.

-d: Diese Option listet das Verzeichnis als reguläre Datei auf, anstatt seinen Inhalt aufzulisten.

-v: Wird verwendet, um die Versions-/Generationsnummer der Datei usw. anzuzeigen.

Wie verwende ich den Chattr-Befehl?

1. Fügen Sie der Datei Attribute hinzu

Erstellen Sie eine neue Datei, um sie zu testen. Beispielsweise wurde mit dem Touch-Befehl eine neue Datei tecadmin.txt erstellt und der Datei wurden 777 Berechtigungen zugewiesen.

# touch tecadmin.txt
# chmod 777 tecadmin.txt
# ls -l tecadmin.txt
-rwxrwxrwx 1 root root 0 Apr 10 13:10 tecadmin.txt
Nach dem Login kopieren

Aktivieren Sie jetzt das Dateiattribut „i“

# chattr +i tecadmin.txt
Nach dem Login kopieren

Da wir das Dateiattribut „i“ aktiviert haben, versuchen wir, diese Datei zu löschen. Wir erhalten den folgenden RM-Eingabeaufforderungsfehler, obwohl die Datei 777 hat Berechtigungen.

# rm -f tecadmin.txt
rm: cannot remove `tecadmin.txt': Operation not permitted
Nach dem Login kopieren

2. Dateiattribute löschen

Um Dateiattribute zu löschen, verwenden Sie einfach das (-)-Zeichen der angehängten Attribute. Zum Beispiel in tecadmin.txt.

# chattr -i tecadmin.txt
# lsattr tecadmin.txt
------------- tecadmin.txt
Nach dem Login kopieren

3. Schützen Sie das Verzeichnis

Das Flag + i' kann für das Verzeichnis verwendet werden (wie unten gezeigt), um das Verzeichnis unveränderlich zu machen; ' wird verwendet, um den Aufruf rekursiv durchzuführen, sodass auch alle Unterdateien und Verzeichnisse unveränderlich sind. Dies schützt das gesamte Verzeichnis und seine Dateien. Beispiel: Ordner Ordner

#chattr -R + i  folder/
Nach dem Login kopieren

Löschen/löschen Sie nun den Ordner und seine Dateien. Sie erhalten den folgenden RM-Eingabeaufforderungsfehler

#rm -rf folder / 
rm: cannot remove ‘ folder/’ : Operation not permitted
Nach dem Login kopieren

Verwenden Sie erneut den Schalter „-R“ und das Flag „-i“. und den vollständigen Pfad zum Ordner, um Berechtigungen aufzuheben.

# chattr -R -i folder/
# rm -rf folder/
Nach dem Login kopieren

Das Ordnerverzeichnis wurde erfolgreich gelöscht.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

Das obige ist der detaillierte Inhalt vonWas ist der chattr-Befehl unter Linux? Verwendung (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage