Wenn Sie verhindern möchten, dass eine Datei geändert, gelöscht oder umbenannt wird, müssen Sie das unveränderliche Flag darauf setzen. Es kann auf Dateien oder Verzeichnisse gesetzt werden. Sobald das unveränderliche Flag hinzugefügt wurde, können Dateien/Ordner nicht mehr geändert oder gelöscht werden. Wenn Sie ein unveränderliches Flag hinzugefügt haben und Änderungen an Ihren Dateien vornehmen möchten, müssen Sie das unveränderliche Flag entfernen. Es ist ein erweitertes Dateisystemattribut.
Bitte beachten Sie die folgenden Schritte, um das unveränderliche Flag zu setzen. Sie müssen sich mit root anmelden, um das unveränderliche Flag zu setzen.
- Zuerst erstellen wir mit dem folgenden Befehl eine Datei namens test.txt.
# touch test.txt
- Verwenden Sie den Befehl lsattr, um das erweiterte Attribut zu prüfen. Standardmäßig ist dort nur 'e' vorhanden.
# lsattr test.txt
- Wir werden der test.txt etwas Inhalt hinzufügen und es sollte gut funktionieren, da wir noch keine Änderungen vorgenommen haben.
# echo This is a test of immutable flage >> test.txt
# cat test.txt - Lassen Sie uns den Chattr-Befehl verwenden, um das +i-Flag zu setzen. Hier meine ich unveränderlich.
# sudo chattr +i test.txt
- Jetzt verwenden wir den folgenden Befehl, um die Unveränderlichkeit für die Datei test.txt zu überprüfen
# lsattr test.txt
Ausgabe :
----i---------e---- test.txt
- Wie in der obigen Ausgabe ist test.txt jetzt unveränderlich. Wir werden versuchen, dieselbe Datei zu ändern oder zu löschen.
# echo test-modification >> test.txt
-bash: test.txt: Permission denied# rm -f test.txt
rm: cannot remove ‘test.txt’: Operation not permitted# mv test.txt test2.txt
mv: cannot move ‘test.txt’ to ‘test2.txt’: Operation not permittedGemäß dem obigen Fehler können wir sehen, dass die Datei nicht geändert oder gelöscht werden konnte, da wir das unveränderliche Flag darauf gesetzt haben. Bitte beachten Sie, dass, wenn Sie für einen der Ordner unveränderlich festlegen, das unveränderliche Flag für ganze Dateien/Ordner innerhalb desselben Ordners gesetzt wird.
- Wenn Sie Änderungen an derselben Datei vornehmen möchten, müssen Sie das unveränderliche entfernen. Der folgende Befehl entfernt das unveränderliche Flag aus jeder Datei.
# chattr -i test.txt
- Wir werden überprüfen, ob das unveränderliche Flag nicht entfernt wurde.
# lsattr test.txt
Ausgabe :
-------------e-- test.txt
Jetzt können Sie die Datei problemlos ändern oder löschen.