Mailinglisten-Archive |
On 01/18/04 12:32:39 +0100 Norbert Pfeiffer wrote:
> an die httpd.conf kommt man immer ran,
Nein.
> weil:
> Das Script laeuft unter der UID des apache
jein.
> und der muss sie ja auch lesen ... ;-)
Ebenfalls jein.
In den meisten Faellen startet der apache mit den
Rechten eines privilegierten accounts (z.B. root),
liest die Konfiguration, bindet sich an den Socket,
erledigt diverse Verwaltungsaufgaben und entledigt sich
dann seiner Privilegien.
Die eigentliche Behandlung des Requests (also auch die
Ausfuehrung des PHP-Skriptes) erfolgt mit den Rechten
eines/des nichtprivilegierten Accounts.
(Wer's genau wissen will, schaue in den Quellcode.
Meine Darstellung ist "uebervereinfacht")
Beispiel:
<?php
if (is_readable('/usr/local/etc/apache/httpd.conf')){
echo "<H2>YES!</H2>\n";
} else {
echo "<H2>NO!</H2>\n";
}
?>
| example:[~] lynx -dump beispiel.server.de:/testconf.php
|
| NO!
| example:[~] ls -l /usr/local/etc/apache/httpd.conf
| -rw-r----- 1 root wheel 40005 Nov 27 13:47 /usr/local/etc/apache/httpd.conf
Mit derselben Begruendung scheitert der Ansatz mit dem
"exec" ebenfalls.
-Andreas
php::bar PHP Wiki - Listenarchive