Apache2 richtige Konfiguration

Abend,
Also ich habe dann nochmal eine neue Gruppe Namen's Webusers angelegt und bei den Vhost's eingetragen.
Die Gurppen Gid habe ich manuel auf 1890 gesetzt.
Aber bekomme immernoch einen 500er.
Was bringt mir die Gruppe eig.? Habe gedacht SuPHP ist dazu gedacht die PHP Files als User auszuführen.

Wie lautet die Ausgabe von `ls -n /PFAD/info.php`?
Code:
-rw-r--r-- 1 0 0 20 2008-08-09 00:45 /PFAD/info.php

MFG ReduX

Wie man sieht ist diese Datei als Root angelegt worden (War wohl nicht ganz bei der Sache), jedoch wenn ich sie als Richtiger User anlege verändert sich nichts
 
Last edited by a moderator:
Wie man sieht ist diese Datei als Root angelegt worden (War wohl nicht ganz bei der Sache), jedoch wenn ich sie als Richtiger User anlege verändert sich nichts
Wenn die Datei dem korrekten Benutzer und der korrekten Gruppe gehört, müsste es klappen. Ansonsten helfen natürlich immer aktuelle Meldungen aus dem Error Log bzw. SuPHP Log...
 
Tag,
bei ls -n kommt folgendes raus:
Code:
-rw-r--r-- 1 1003 1004 20 2008-08-11 01:13 /PFAD/info_.php

Jedoch bekomme ich trozdem den Fehler, in der Log steht nichts neues, in der Vhost steht folgendes:
Code:
suPHP_Engine on
suPHP_UserGroup MEINUSER webusers //Meine selbst angelegte Gruppe mit GID über 1000
AddHandler x-httpd-php .php .php3 .php4 .php5
suPHP_AddHandler x-httpd-php
und zum Schluss noch meine suphp.conf (Im Ordner /etc/):
Code:
;Path to chroot() to before executing script
;chroot=/mychroot
; Security options
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false
;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true
;Send minor error messages to browser
errors_to_browser=false
;PATH environment variable
env_path=/bin:/usr/bin
umask=0077
; Minimum UID
min_uid=100
; Minimum GID
min_gid=100
[handlers]
;Handler for php-scripts
x-httpd-php=php:/usr/bin/php5-cgi
;Handler for CGI-scripts
x-suphp-cgi=execute:!self
Wie gesagt sind normalerweiße alles standart Einstellungen aus dem Tut.
Achja falls es was zur Sache tut ich nutze Debian Etch 4.0 64bit.

MFG ReduX
 
Oder du schiebst jeden Benutzer mit in die Gruppe, unter der der Apache-Server ausgeführt wird.

Aus diesem Grund legt man für jeden Benutzer eine Gruppe an und setzt dann für den Apache-User eine Mitgliedschaft in der Benutzergruppe. Auf diese Weise kann der Benutzer seine Dateien schreiben, aber der Apache-User hat trotzdem darauf Zugriff. (Vorrausgesetzt die Dateiberechtigungen stimmen) Ein anderer Benutzer jedoch nicht. Ich dache, dass sei Standart-Vorgehensweise?

Im Zusammenspiel mit Open-Base-Dir sollte das doch schon ziemlich sicher sein. Natürlich erhöht su-php die Sicherheit nocheinmal extra.

Im übrigen schreibt su-php ein eigenes Logfile. Ein Ausschnitt davon ist vielleicht auch mal ganz hilfreich.
 
Tag,
Habe mal nach Phate's Rates in der Log nachgeschaut, jedoch in der apache und nicht in der suPHP und siehe da, dort steht etwas:
[Mon Aug 11 16:49:42 2008] [error] [client 217.227.180.22] SoftException in Application.cpp:359: Mismatch between target GID (1890) and GID (1004) of file "/PFAD/info.php"
[Mon Aug 11 16:49:42 2008] [error] [client 217.227.180.22] Premature end of script headers: info.php

Nur was bedeutet das für mich?

MFG ReduX
Edit:
Habe noch versucht wie dort auch im Tutorial beschrieben für andere Homepages "normales" PHP zu verwenden (ohne User).
Das brauche ich für PhpMyAdmin da ich dort kein extra User für haben will, funktioniert aber leider auch nicht (gleicher Fehler).
 
Last edited by a moderator:
Abend,
Habe nun in der Apache konfig und in den Vhost die Gruppe webusers eingestellt, hat eine GID über 1000. Funktioniert immer noch nicht.
Werde mich damit aber nicht weiter auseinanderesetzen, da ich Zeitlich sehr begrenzt bin. Ich werde dann die andere möglichkeit mit den Gruppen verwenden.

Thx nochmal an alle
MFG ReduX
 
Da du in der Vhost-Config folgendes stehen hast:
Code:
suPHP_Engine on
suPHP_UserGroup [B]MEINUSER[/B] webusers //Meine selbst angelegte Gruppe mit GID über 1000
AddHandler x-httpd-php .php .php3 .php4 .php5
suPHP_AddHandler x-httpd-php

muss dann die php-Datei den Benutzer MEINUSER als Besitzer haben. Dann funktionierts auch.

Achtung, wenn du den Vorschlag mit den Gruppen machst, achte darauf, dass dein php-config (openbase-dir,...) sicher ist. Die Forensuche leistet dir da sicher gute Hilfe.
Zu beachten ist auch, dass wirklich jeder Benutzer eine eigene Gruppe hat.
Bei manchen Distributionen gibt es eine Begrenzung auf die Anzahl der Gruppenzugehörigkeiten eines Benutzers. Damit wäre die Anzahl der Vhosts beschränkt.

Zusätzlich noch suphp zu verwenden schadet aber sicher nicht.
 
Tag,
Eigentlich wollte ich auch suPHP verwenden, jedoch bekomme ich es nicht zum laufen.
Die Dateien gehören dem User der in der Vhosts eingetragen ist, aber es funktioniert ja trozdem nicht, die anderen configs müssten auch stimmen.
Also bleibt mir ja nichts anderes mehr übrig als das mit den Gruppen zu tun.

Aber falls jemand noch eine rettende Lösung hat, kann er gerne posten ;)
Aber sonst vielen Dank für die Unterstützung.
MFG ReduX
 
Sry, für Doppelpost.
Beim genauen betrachten der Fehlermeldung ist mir aufgedallen das es ja:
Code:
Mismatch between target GID (122) and GID (121) of file "/PFAD/index.php"
heißt aber warum zwei mal GID?.
Das letztere mit 121 ist der User der hat also eine UID und keine GID???
Habe nochmal alles von vorne gemacht und hier mein(genauer) Ablauf:
suPHP 0.6.3 heruntergalden und laut Anleitung installiert.
PHP5-cgi installiert.
Dannach in der httpd.conf das Module eingetragen.
In der Vhost entsprechend:
Code:
suPHP_Engine on
  suPHP_UserGroup testuser testgroup
  AddHandler x-httpd-php .php .php3 .php4 .php5
  suPHP_AddHandler x-httpd-php
testuser und testgroup angelegt mit gid und uid höher als 100(laut config).
User mittels adduser zur Gruppe hinzugefügt.
index.php(Inhalt: <?php phpinfo(); ?>) als testuser im homeverzeichnis angelegt.
Apache neugestartet
Ergebnis: Fehler wie oben beschrieben
 
Wenn das suphp so ausgibt, dann stimmt die GID nicht, dh die Gruppen ID.

Probiers mal mit
Code:
chgrp testgroup index.php



Gib mal danach die Ausgabe von ls -l und ls -n
 
Tag,
So funktioniert es nun mit der einen Datei, nur das Problem ist jetzt das wenn ich per FTP eine neue Datei hochlade, wieder ein 500er bekomme.
Aber eig. sollte es doch keine Probleme geben da ja der User dem die Datei gehört in der Gruppe ist.
Habe Proftpd als FTp Server und nutzte die Option System User einen FTP zugang zu bieten, d.h. alle System User die in der Gruppe ftpusers sind haben FTP zugriff. Nur wie kann ich es machen das die Files automatisch der testgroup zugewießen wird?

MFG ReduX
 
SuPHP will das so. (Ich kann mich aber daran erinnern, dass das irgendwo eingestellt werden konnte. Möglicherweise beim Kompilieren.)

Ich selbst verwende Proftpd nicht.

Vielleicht hilft dir aber das weiter:
ProFTPD: GroupOwner
 
Tag,
Ich denke am FTP ändere ich nicht, da der auch für nicht Webuser genutzt wird.
Sollte ich für alle Webuser eingentlich eine Gruppe erstellen, oder für jeden Webuser eine eigene Gruppe? Weil wegen den Rechten würde eine Gruppe ja nichts machen, da sie via PHP in ihr Verzeichnis gesperrt sind und keine Shell habe, somit können sie ja sowieso nicht auf die Dateien des anderen Webusers zugreifen.

Code:
(Ich kann mich aber daran erinnern, dass das irgendwo eingestellt werden konnte. Möglicherweise beim Kompilieren.)

Das wird wohl meine einzige Hoffnung bleiben, mal schauen wo man das einstellen kann. In der suphp.conf steht mal nichts davon eventuell mal die Doku lesen :rolleyes:

MFG ReduX
 
Abend,
Wie ich gerade bemerkt habe ist die Doku für suPHP ziemlich kurz ausgefallen.
Das einzige was in mein Richtung geht scheint:
Code:
--disable-checkuid
--disable-checkgid
zu sein.
Aber denke das es nicht das ist was ich suche.
Ansonsten habe ich in der Doku nichts brauchbares gefunden.
Bin über Antworten dankbar.

Schönen Abend noch.
MFG ReduX
 
Welche Gruppe wird denn eingestellt, wenn du eine Datei über FTP hochlädtst? Falls es die Standartgruppe des Users ist, dann änder halt diese ab.

Ansonsten bleibt die nur noch übrig suPHP selbst zu kompilieren. Und zwar mit der Option --disable-checkgid
 
Danke nun geht es.
Habe es nun damit gelöst das ja beim anlegen eines Users eine Primärgruppe angelegt wird.
Diese ist auch die Standartgruppe bei Dateien die per FTP oder Console angelegt werden.
Habe diese einfach in der VHost eingetragen, ist auch praktischer nun muss ich nicht immer eine zusätzliche Gruppe anlegen.

Vielen Dank nochmal an Phate & Roger Wilco für die Hilfe.
MFG ReduX
 
Last edited by a moderator:
Back
Top