phpbar.de logo

Mailinglisten-Archive

[php] php/mysql oeffentlich anbieten

[php] php/mysql oeffentlich anbieten

Markus Dobel easy.bringt.falschgeld.in_(at)_umlauf.de
Tue, 28 Dec 1999 04:04:42 +0100


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