Wie erstelle ich eine Datei, die selbst ein Root-Benutzer nicht löschen kann?
linux
permissions
files
Kumar
quelle
quelle
Antworten:
Einfache Antwort: Sie können nicht, root kann alles.
Sie können das Attribut "i" mit chattr setzen (zumindest wenn Sie sich in ext {2,3,4} befinden), wodurch eine Datei unveränderlich wird, aber root kann das Attribut einfach aufheben und die Datei trotzdem löschen.
Komplexer (und hässlicher, hackiger Workaround): Legen Sie das Verzeichnis, das für root unveränderlich sein soll, auf dem Remote-Server ab und hängen Sie es über NFS oder SMB an. Wenn der Server keine Schreibrechte bietet, wird das lokale Root-Konto gesperrt. Natürlich könnte das lokale Root-Konto die Dateien einfach lokal kopieren, das Remote-Zeug aushängen, die Kopie anbringen und das ändern.
Sie können root nicht daran hindern, Ihre Dateien zu löschen. Wenn Sie nicht darauf vertrauen können, dass Ihr Root die Dateien intakt hält, haben Sie ein soziales Problem, kein technisches.
quelle
mv
kann?" (das ist ein lahmer Witz, der auf christlicher Theosophie basiert, und ein schrecklicher Witz, wenn Sie nicht mit dem Gebiet vertraut sind)Legen Sie es auf eine CD-ROM! ;)
(Dies sollte ein Kommentar sein, aber ich kann keine Kommentare machen ...)
quelle
Legen Sie Ihre Datei in einem schreibgeschützten Dateisystem ab. Dies kann ein Remote-FS sein, bei dem root nicht mehr root ist, eine CD-ROM oder ein Wechselmedium, das schreibgeschützt sein kann, z. B. eine SD-Karte.
quelle
Vor langer Zeit habe ich einen Kernel-Patch (auf 2.2.ancient) geschrieben, bei dem der Versuch, eine Datei mit dem Namen SELFDESTRUCT zu löschen, den aufrufenden Prozess zum Erliegen brachte. Dies schützt vor versehentlichem "rm -rf *".
quelle
Mit können Sie
chattr +i
eine Datei unveränderlich machen.Natürlich kann ein versierter Benutzer mit Root-Zugriff weiterhin
chattr -i
das unveränderliche Attribut entfernen und dann die Datei löschen. Er kann jedoch auch alle anderen hier aufgeführten Versuche, den Zugriff zu blockieren, rückgängig machen.Ich würde argumentieren, dass chattr der richtige Weg ist, dies unter Unix zu tun.
quelle