Mailinglisten-Archive |
Dave Kliczbor wrote: > > Markus Dobel wrote: > > 3. mysql-zugriff > > natuerlich muss gesichert sein, dass die user nur ihre datenbank > > manipulieren koennen. ... > > wie meinste das jetzt? ich meinte das so: apache laeuft als nobody. somit hat apache auf alle files zugriff, auf die der user nobody auch zugriff hat. was ich brauche, ist die moeglichkeit, dass die user NUR ihre mysql-db betatschen koennen, keine andere. und das sowohl auf der shell als auch ueber den php-interpreter. irgendwie muss nun php an die passende username/passwort-kombi kommen, damit php zugriff auf die db hat. dazu muss username und passwort in einem file stehen, welches fuer nobody lesbar ist. schreibe ich nun das pw in ein file, was ich nobody schenke und 600 chmodde, so kann es jeder ueber den php-interpreter lesen (oder keiner, wenn ich mich im safe-mode befinde). wie gesagt, mir ist dazu bisher keine praktikable moeglichkeit eingefallen. > MySQL verwaltet aber afaik seine user/pwd in einer eigenen DB, auf die > nur der MySQL-Admin und MySQL selbst Zugriff hat. richtig... und um auf die mysql-db zugreifen zu koennen, musst du irgendwo dein passwort in eine datei schreiben, die dann von php eingelesen wird. sonst weiss php doch nicht, welches pw es verwenden soll. > - oder muss der user sein user/pwd in einem .php3-file haben? > haben die einzelnen user read-permission auf die files/dirs der > anderen user? wenn ja, ändern - directory auf chown username.nogroup > mit chmod 770 hilft mri auch nicht, da man so immernoch ueber den php-interpreter an die datei kommt. oder hab ich was uebersehen? > am besten wäre natürlich ein "virtual root" für jeden user, ausgehend > von seinem home-dir (d.h. beim einloggen per telnet landet der user im > seinem home, das er aber selbst als "/" sieht - d.h. er kann nicht auf > übergeordnete oder gleichgestellte dir's zugreifen). kann ich so nicht machen, da die shell-accounts dann nicht mehr funktionieren wuerden. > ... Ich _glaube_ aber (wer's weiss: bitte > bestätigen oder abstreiten), dass man im <VirtualHost>-Bereich der > httpd.conf mit den Direktiven "User" und "Group" Apache dazu > veranlassen kann, uid/gid angepasst zu wechseln. Kann natürlich nur > klappen, wenn du pro user einen VirtualHost eingerichtet hast (und > wenn Apache das unterstützt :). das waere mir neu. afaik sind die User und Group-Direktiven nicht in unterbereichen moeglich sondern gelten global. aber ich mach mich da nochma schlau. DAS waere natuerlich die loesung. aber ich kanns mir nicht so recht vorstellen, da der apache sich als nobody forkt und bestimmt nicht von da aus nochma auf ne andere id wexelt, je nach verzeichnis/location/sonstwas. gruss, markus
php::bar PHP Wiki - Listenarchive