Wie kann man in GNU / Linux Verzeichnisse so einstellen, dass der Besitzer nur Dateien / Verzeichnisse hinzufügen / lesen kann, aber nur ein Superuser das Löschen in dieser Struktur durchführen kann?
Stellen Sie sich das folgende Szenario vor: Sie rsync
speichern einige Dateien und Verzeichnisse, deren Eigentümer Sie sind, in einem Verzeichnis. Sie möchten in dieses Verzeichnis schreiben können (und später, wenn Sie die Sicherung aktualisieren - dh rsync
erneut - auch in alle Unterverzeichnisse schreiben), möchten jedoch nichts in löschen können diese Struktur, es sei denn, Sie sind ein Superuser.
Das eingeschränkte Löschen-Flag t
in chmod
hilft in dieser Situation nicht, da es das Löschen durch Nicht-Besitzer einschränkt.
Das Einstellen des Modus u=rX,go=
für die Dateien und Verzeichnisse (während der Übertragung mit rsync
) hilft auch nicht, da eine spätere Übertragung rsync
nur möglich ist, wenn w
das Modusbit vor dem Starten zu allen Verzeichnissen auf dem Empfänger hinzugefügt rsync
wird. Dies ist sehr zeitaufwändig .
Ist ACL der richtige Weg hierher?
Update: Auch mit ACL sehe ich keine Möglichkeit, dies zu tun.
Schauen Sie sich unseren guten Freund chattr an . Wenn Sie einen ext2 / 3/4-basierten FS verwenden, können Sie das unveränderliche oder nicht löschbare Bit setzen, und nicht einmal root kann die Datei löschen, bis Sie das entsprechende Bit deaktivieren.
quelle