Sicherheitsfrage

Hallo Experten,

ich frage mich, wie „sicher“ der CHMOD 777, also alle Rechte vergeben, ist.
Kann ein User auch die darauf befindlichen Daten löschen, oder nur darauf zugreifen?

Und was bedeutet UID, GID und Sticky in dem Zusammenhang?

Danke und Gruß
MiND

Hi,

ich frage mich, wie „sicher“ der CHMOD 777, also alle Rechte
vergeben, ist.

Gar nicht. chmod 777 bedeutet „Jeder Benutzer darf alles.“

Kann ein User auch die darauf befindlichen Daten löschen, oder
nur darauf zugreifen?

Auch löschen. Siehe die Links unten.

Und was bedeutet UID, GID und Sticky in dem Zusammenhang?

UID = User ID: Benutzername
GID = Group ID: Gruppenname
Sticky: Besondere Rechte in Verzeichnissen

http://www.freebsd.org/doc/de_DE.ISO8859-1/books/han…
http://www.freebsd.org/cgi/man.cgi?query=chmod&sekti…
http://www.freebsd.org/cgi/man.cgi?query=sticky&sekt…

(Das alles gilt, soweit es Dich betrifft, auch für Deinen Anwendungsfall, nicht nur für FreeBSD)

Gruß,

Malte.

Hi,

Hallo,

ich frage mich, wie „sicher“ der CHMOD 777, also alle Rechte
vergeben, ist.

Gar nicht. chmod 777 bedeutet „Jeder Benutzer darf alles.“

… wobei „alles“ == „lesen, schreiben, ausfuehren“.

Kann ein User auch die darauf befindlichen Daten löschen, oder
nur darauf zugreifen?

Auch löschen. Siehe die Links unten.

Aeh… loeschen (aka. unlink) ist eine Operation auf das Verzeichnis, nicht auf die Datei. Eine Datei mit 777 darf ich vielleicht ueberschreiben, nicht aber unbedingt loeschen.

Gruss vom Frank.

Hoi,

Kann ein User auch die darauf befindlichen Daten löschen, oder
nur darauf zugreifen?

Auch löschen. Siehe die Links unten.

Aeh… loeschen (aka. unlink) ist eine Operation auf das
Verzeichnis, nicht auf die Datei. Eine Datei mit 777 darf ich
vielleicht ueberschreiben, nicht aber unbedingt loeschen.

Ja, der Fragesteller hat aber nicht zwischen Dateien und Verzeichnissen differenziert, deshalb gönnte ich mir den Luxus, diese etwas verallgemeinerte Antwort zu geben! Danke für die Ergänzung!

Gruß,

Malte.

Hallo Mind,

chmod 777 wird oft für serverseitiges Skripting (mod_php, CGI etc.) gebraucht, wenn der Webserver beim shared Hosting unter einem eigenen User-Account läuft, der nicht der User-Account ist, dem die Skripte gehören und oft auch nicht die Gruppe.

Bei einem guten Provider (ich wüsste da einen, darf aber nichts sagen :wink: kommt aber an diese Verzeichnisse eh niemand anders als der Webserver und der User selbst dran. Das wird durch eine Rechte-Schleuse erreicht, indem durch ein Verzeichnis nur die Gruppe des Users und der Webserver-User, durch ein verschachteltes nur der User selbst und die Webserver-Gruppe durchgelassen wird. Damit kommt also niemand anders als der Webserver und der User selbst da dran. Das lässt sich auch mit ACL (Access-Control-Lists) realisieren.

Achtung: Man könnte durch das dumme Legen von Links (harten, symlinks reichen nicht), diese Schleuse umgehen. Bei Hardlinks sollte man eh wissen was man tut!

CGI läuft außerdem meist als der User selbst, alles andere wäre zu unsicher. mod_php läuft zwar als der Webserver-User, aber im safe-mode können nur Dateien zugegriffen werden, die auch dem User gehören, dem auch das Skripte gehört (alternativ der Gruppe, je nach Config).

Von Providern, die mod_php in einem shared Server ohne safe-mode anbieten, würde ich die Finger lassen. Auch wenn diese oft das Blau vom Himmel runterlügen, warum es gerade bei ihnen doch sicher wäre. Bullshit!

Alles Gute wünscht
Michael