So sperren Sie Dateien zum Umbenennen oder Löschen unter Linux
Wenn Sie jemals mit sensiblen Dateien unter Linux gearbeitet haben, wollten Sie vielleicht verhindern, dass andere (oder sogar Sie selbst) sie versehentlich umbenennen oder löschen. Glücklicherweise bietet Linux einige Methoden, um eine Datei zu "sperren" und sicherzustellen, dass sie vor unerwünschten Änderungen geschützt bleibt.
In dieser Anleitung zeigen wir Ihnen, wie Sie eine Datei sperren, um sie mit einfachen Befehlen und Tools, die unter Linux verfügbar sind, umzubenennen oder zu löschen. Wir werden auch ein Beispiel durchgehen, um die einzelnen Methoden zu veranschaulichen.
Nehmen wir an, wir haben eine Datei namens important.txt
die sich im Verzeichnis /home/user/
befindet, und wir möchten diese Datei vor dem Umbenennen oder Löschen schützen.
Methode 1: Verwenden von chattr, um eine Datei unveränderlich zu machen
Eine der einfachsten und effektivsten Möglichkeiten, eine Datei vor dem Umbenennen oder Löschen zu schützen, ist die Verwendung des Befehls chattr, der Dateiattribute in Linux ändert.
Lassen Sie uns zunächst die Attribute von important.txt
mit dem Befehl lsattr
überprüfen, der die Attribute von Dateien und Verzeichnissen auflistet:
lsattr /home/user/important.txt
Wenn die Datei nicht gesperrt ist, sollten Sie in der Ausgabe nichts oder nur -
sehen.
Führen Sie den folgenden Befehl aus, um important.txt
unveränderlich zu machen (nicht umbenannt oder gelöscht werden zu können):
sudo chattr +i /home/user/important.txt
lsattr /home/user/important.txt
Jetzt sollten Sie in der Ausgabe neben dem Dateinamen ein i
sehen, das darauf hinweist, dass die Datei gesperrt ist.
Der Versuch, die Datei umzubenennen oder zu löschen, schlägt nun fehl.
mv /home/user/important.txt /home/user/important_backup.txt
Ebenso, wenn Sie versuchen, die Datei zu löschen.
rm /home/user/important.txt
Sie erhalten die Fehlermeldung "Vorgang nicht zulässig".
Um die Unveränderlichkeit zu entfernen und Änderungen an der Datei zuzulassen, verwenden Sie:
sudo chattr -i /home/user/important.txt
Nun können Sie die Datei wie gewohnt umbenennen oder löschen.
Methode 2: Verwenden von Dateiberechtigungen zum Einschränken des Löschens
Eine andere Möglichkeit, das Löschen von Dateien zu verhindern, besteht darin, die Berechtigungen der Datei mit dem Befehl chmod
zu ändern, der Berechtigungen festlegt, die eine Datei für andere Benutzer unlesbar oder nicht bearbeitbar machen.
Um zu verhindern, dass jeder (einschließlich Ihnen selbst) die Datei löscht oder ändert, verwenden Sie Folgendes:
chmod a-w /home/user/important.txt
Sie können die Berechtigungen der Datei überprüfen mit:
ls -l /home/user/important.txt
Sie sollten etwas wie dieses sehen, wo die Berechtigung w
(write) entfernt wurde, was darauf hinweist, dass niemand die Datei ändern oder löschen kann.
So erlauben Sie sich, die Datei erneut zu löschen oder zu ändern:
chmod +w /home/user/important.txt
Methode 3: Verwenden von chown zum Ändern des Eigentümers
Wenn Sie die einzige Person sind, die in der Lage sein sollte, die Datei zu ändern oder zu löschen, können Sie die Eigentümerschaft der Datei ändern.
sudo chown yourusername:yourgroup /home/user/important.txt
Ersetzen Sie yourusername
und yourgroup
durch Ihren tatsächlichen Benutzernamen und Ihre Gruppe.
Jetzt können Sie den Eigentümer und die Gruppe der Datei überprüfen mit:
ls -l /home/user/important.txt
Sie sollten etwas sehen wie:
-r--r--r-- 1 yourusername yourgroup 0 Feb 3 10:00 /home/user/important.txt
Jetzt können nur Sie die Datei ändern oder löschen.
Schlussfolgerung
Das Sperren einer Datei unter Linux kann dazu beitragen, versehentliche Änderungen wie Umbenennen oder Löschen zu verhindern, was besonders nützlich ist, wenn es um wichtige Dateien geht.
Die Methoden, die wir besprochen haben – die Verwendung von Chattr
, um eine Datei unveränderlich zu machen, das Anpassen von Dateiberechtigungen und das Ändern des Dateibesitzes – sind einfach zu bedienen und können die Sicherheit bieten, die Sie benötigen.