GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie verhindert man das Ändern, Löschen und Umbenennen von Dateien/Verzeichnissen in Linux?

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.

  1. Zuerst erstellen wir mit dem folgenden Befehl eine Datei namens test.txt.

    # touch test.txt
    
  2. Verwenden Sie den Befehl lsattr, um das erweiterte Attribut zu prüfen. Standardmäßig ist dort nur 'e' vorhanden.

    # lsattr test.txt
    
  3. 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
  4. Lassen Sie uns den Chattr-Befehl verwenden, um das +i-Flag zu setzen. Hier meine ich unveränderlich.

    # sudo chattr +i test.txt
  5. 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
  1. 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 permitted

    Gemäß 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.

  2. 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
  3. 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.


Linux
  1. So manipulieren Sie Dateinamen mit Leerzeichen und Sonderzeichen in Linux

  2. So machen Sie Dateien und Verzeichnisse unlöschbar, sogar von Root in Linux

  3. So leiten Sie die Ausgabe in eine Datei und Stdout in Linux um

  4. Wie aktiviere ich die Indizierung von Apache-Dateien und -Verzeichnissen in Linux oder UNIX?

  5. So verwalten Sie Datei- und Verzeichnisberechtigungen/Eigentümer in Linux

So mounten und unmounten Sie Dateisysteme in Linux

So kopieren Sie Dateien und Verzeichnisse unter Linux

So verwenden Sie Bash-Dateitestoperatoren in Linux

Linux-Hostdatei:Wie wird sie bearbeitet und verwendet?

Verhindern Sie, dass Dateien und Ordner unter Linux versehentlich gelöscht oder geändert werden

Wie man mit Hardlinks und Softlinks unter Linux arbeitet