
Ich weiß, dass es das Flag +i für Dateien und Verzeichnisse gibt, aber ich habe ein tiefer liegendes Problem.
Gibt es eine Möglichkeit, das Löschen eines Ordners durch einen Benutzer zu verhindern, der Dateien und Ordner erstellen, darauf zugreifen und sie entfernen können soll?INNENder löschgeschützte Ordner?
Das sudo chattr +i testfolder
Flag hilft nicht, da ein Benutzer dann Dateien nur lesen, aber nicht erstellen oder löschen kann.
Das sudo chattr +a testfolder
Flag hilft auch nicht, da ein Benutzer dann Dateien schreiben und lesen, aber nur Dateien anhängen und bearbeiten, aber nicht entfernen kann.
Ich brauche eine Lösung, bei der ein Benutzer schreiben, zugreifen kannUndDateien entfernen, aber den Stamm-/übergeordneten Ordner nicht löschen.
Antwort1
Das Löschen eines Verzeichnisses hängt von den Rechten des übergeordneten Verzeichnisses ab und nicht von seinen eigenen Rechten. Wenn der Benutzer Schreibrechte für das übergeordnete Verzeichnis hat, kann das Verzeichnis gelöscht werden, andernfalls nicht.
Wenn der Benutzer also nicht die Berechtigung zum Erstellen oder Löschen von Verzeichnissen/Dateien auf derselben Ebene haben muss, auf der sich das zu schützende Verzeichnis befindet, sollte Folgendes funktionieren:
chmod 755 /the/parent/dir
Wenn einigen Benutzern dennoch die Möglichkeit gegeben werden muss, den Inhalt des übergeordneten Elements zu ändern, sollte das übergeordnete Element einer Gruppe gehören, deren Mitglieder diese Benutzer sind, und diese Gruppe sollte über die Schreibberechtigung verfügen:
addgroup bigguys
chgrp bigguys /the/parent/dir
chmod 775 /the/parent/dir