phpbar.de logo

Mailinglisten-Archive

[php] fread --> [OT: tip ... ]

[php] fread --> [OT: tip ... ]

Kristian =?iso-8859-1?Q?K=F6hntopp?= kk_(at)_netuse.de
Mon, 31 May 1999 14:20:37 +0200


Thomas Heller wrote:
> PHP3 braucht generell diesselben Rechte wie PERL auch ... 
> Aber Perl führt AFAIK die Skripte unter dem Benutzer aus, 
> dem dieses Skript gehört und PHP (als Apache Modul) mit 
> dem Apache User ....

Auh Perl tut dies, wenn es als Modul läuft. Wenn man sich
überlegt, wie Apache funktioniert, ist es auch ganz logisch:

   Apache Master
   | | | | | ---> StartServer bis MaxClients viele
   | | | | Apache Server
   | | | Apache Server
   | | Apache Server
   | Apache Server
   Apache Server

Diese laufen alle als wwwrun oder was auch immer. Wenn im Apache
Server ein mod_irgendwas drin ist (für geeignete Werte von
irgendwas), wird dieses irgendwas als wwwrun ausgeführt.


Nehmen wir an, einer dieser Apache Server soll ein CGI (PHP CGI,
Perl CGI oder irgendwas anderes) ausführen, dann

  |
  |
  Apache Server (wwwrun, pid=4711)
  |
  | fork
  |
  Apache Server (wwwrun, pid=4712)
    |
    | exec
    v
    suexec (root, pid=4712)
    |
    | exec
    v
    php (CGI-Version) (target user id gemäß
                       User und Group-direktive, 
                       pid=4712)
    |
    |
    v
    = exit(x); (pid=4712)

Es ist also die CGIness eines Programmes, die bestimmt, daß es
mit einer anderen UID ausgeführt wird.

Kristian

-- 
Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH
Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00
Using PHP3? See our web development library at
http://phplib.shonline.de/ (GPL)


php::bar PHP Wiki   -   Listenarchive