Sticky-Bit in Dateien und Verzeichnissen

florry

Active Member
Hi,
ich hab ein paar Fragen zum sticky-Bit.
Ich versuch einem Benutzer den Zugriff auf eine Datei zu sperren (Hintergrund: http://www.bsdforen.de/showthread.php?p=184635#post184635). Das Problem ist aber, dass die Datei in seinem Verzeichnis liegen muss.
Ich hatte den Eigentümer geändert zu root und die gruppe zu wheel, da ich dachte, dass er die Datei dann nicht löschen/bearbeiten kann, wenn -rw------- gesetzt ist.
Tja, er kanns auch nicht bearbeiten, aber löschen^^.... aaaaalso hab ich mich nbissl informiert und das Sticky-Bit gefunden, was Dateien vor dem Löschen schützen soll.
Dann hab ich "chmod 1600 datei" gemacht und die datei hatte -rw------T
Als ich mich als entsprechender User angemeldet hab, und die Datei löschen wollte, gings auch!! -.-
Also hab ich nochma nachgeschlagen (http://de.wikipedia.org/wiki/Sticky_Bit) und das Verzeichnis /usr/home/peter mit dem sticky-Bit versehen: "chmod 1700 peter".
Laut Wikipedia kann man somit nur Dateien löschen, die von einem selbst erstellt wurden!
Die Datei, die ja eben nicht gelöscht werden soll, die .xinitrc, wurde aber auch von root erstellt. peter ist kein Eigentümer, auch die Gruppe ist nicht seine, er darf gar nichts und trotz dem Stickybit im Verzeichnis, kann er die Datei löschen!!
Ich bitte mal um Aufklärung, wieso das immer noch geht und in dem Zusammenhang ne kleine Erklärung zum Sticky-Bit

// ich hab noch gefunden, dass man nicht unbedingt Eigentümer der Datei sein muss, Eigentümer des Verzeichnis reicht auch, um Dateien zu löschen, die man nicht selbst erstellt hat, wenn das Sticky-Bit gesetzt ist.
Die Frage ist nur: Wenn ich jetzt den Eigentümer des Verzeichnises /usr/home/peter von peter zu root ändere, und peter somit nicht mehr Eigentümer ist, aber auch der Gruppe, die Zugriff auf das Verzeichnis hat, nicht angehört, zählt er zu "other". Ich müsste also das Verzeichnis, damit peter drin lesen und schreiben kann, auf rwx für other setzen.
Zwar wären durch das gesetzte Sticky-Bit peters Datein vor Änderungen und Löschen geschützt (außerdem ist root eine Vertrauensperson ^^), aber dann würde alle anderen, die auch zu "other" gehören, in das Verzeichnis wechseln und peter quasi "zuspamen" können, indem sie das Verzeichnis zu müllen.
Verdammt.... irgendwie ne scheiß situtation ^^
gibts da nicht ne bessere lösung?
 
Zuletzt bearbeitet:
Was hälst du davon das ganze mit chflags zu machen?
# man chflags
besonders interessant für dich, denke ich, ist hier *unlink.
 
Was hälst du davon das ganze mit chflags zu machen?
# man chflags
besonders interessant für dich, denke ich, ist hier *unlink.


boah :D DU BIST GENIAL!! das funktioniert super, jetzt kann er nicht mehr die Datei löschen! :D
sogar das Verzeichnis lässt sich mit rm -r nicht löschen XD
*freuz wie bekloppt*
DANKE DANKE DANKE!!
 
Das ACL ist ja auch interessant, aber in meiner version von FreeBSD 7.0, muss ich das wie in dem Handbuch beschrieben, erst noch in den Kernel eintragen oder is das schon da?
 
Zurück
Oben