Hi, dies ist mein erster Beitrag in einem Forum überhaupt, deshalb schon mal entschuldigung für alles........
Ich habe folgendes Problem:
Beim Zugriff auf ein Perl-Script erscheinen folgende Fehlermeldung:
1. im Browser: "Internal Server Error Es ist ein interner Serverfehler aufgetreten.".
2. error.log: Premature end of script headers
3. suexec.log:crit: cannot run as forbidden gid (33/test.pl)
Bei mir ist folgendes eingerichtet:
Der VirtualHost-Benutzer web5: uid=1142, gid=33(www-data), groups=33(www-data)
Die VirtualHost-Gruppe www-data (gid=33)
Die Zugriffsrechte des HTML-Verzeichniss sind dem Benutzer und er Gruppe angepasst sowie das Leserecht 755
ändere ich im Virtualhost den User auf www-data funktionierts (ist aber glaub ich nicht der Sinn von suEXEC).
Kann mir jemand helfen, oder hat jemand ein Howto
mfg heiko
Zugriffsproblem suEXEC
-
- Beiträge: 3
- Registriert: 15.02.2003 12:47:57
Problem gelöst!!!
Danke, olfi für deine posting.
Ich habe das Problem gelöst, was ich aber nicht verstehe ist, das normalerweise jeder Debian benutzer dieses Problem haben müßte, der mit der Standardinstallation von Apache arbeitet.
Der Fehler war folgender:
Bei der installation von Apache wird SUexec automatisch "enabled".
Da aber keine Mindest-GruppenID für SUexec eingestellt ist wird diese auf
(ich glaube) 1000 eingestellt also wesentlich höher als die Gruppe www-data,
die automatisch angelegt und in der httpd.conf eingetragen wird.
Dies hat zur folge, das wenn die Gruppe www-data versucht ein PEARL-Script
auszuführen, die SUexec dies ablehnt.
Meine Lösung:
Ich habe die SOURCES von apache heruntergeladen, in den Rules den eintrag
--suexec-gidmin=33 \
eingetragen, packet neu gebaut und installiert.
Nun war alles wieder in Ordnung! Endlich klappten pearl-scripte.
Anbei noch ein kleines HOWTO dafür:
1. Verzeichnis für Apache Sources anlegen:
mkdir /sources/
2. wechseln in das Verzeichnis
cd /sources/
3. apache sources holen
apt-get source apache
4. ins apache verzeichnis wechseln
cd /sources/apache/apache-1.3.26/debian
5. datei rules bearbeiten:
nano rules
6. in der config-sektion folgendes eintrage:
--suexec-gidmin=33 \
eventuell noch den docroot anpassen
7. rules speichern
8. In das Apache Stammverzeichnis wechseln:
cd /sources/apache/apache-1.3.2
9. Apache-Debian-Packet bauen (evtl. rfakeroot mit apt-get nachinstallieren):
dpkg-buildpackages -rfakeroot -us -uc
10. Apache installieren
dpkg -i apache-common_1.3.26-0woody3_i386.deb
dpkg -i apache-dev_1.3.26-0woody3_i386.deb
dpkg -i apache_1.3.26-0woody3_i386.deb
dpkg -i apache-doc_1.3.26-0woody3_all.deb
FERTIG !!!!!
Ich hoffe man kann das HOWTO lesen und verstehen (war ne "Blitzidee!")
sollte ich hiermit allgemein Sicherheitsrechte verletztem. Bitte ich um Anmerkungen.
Auch mein rechtschreibchaos bitte ich zu verzeihen. Naja nun schluß(ss)
mfg Heiko
Ich habe das Problem gelöst, was ich aber nicht verstehe ist, das normalerweise jeder Debian benutzer dieses Problem haben müßte, der mit der Standardinstallation von Apache arbeitet.
Der Fehler war folgender:
Bei der installation von Apache wird SUexec automatisch "enabled".
Da aber keine Mindest-GruppenID für SUexec eingestellt ist wird diese auf
(ich glaube) 1000 eingestellt also wesentlich höher als die Gruppe www-data,
die automatisch angelegt und in der httpd.conf eingetragen wird.
Dies hat zur folge, das wenn die Gruppe www-data versucht ein PEARL-Script
auszuführen, die SUexec dies ablehnt.
Meine Lösung:
Ich habe die SOURCES von apache heruntergeladen, in den Rules den eintrag
--suexec-gidmin=33 \
eingetragen, packet neu gebaut und installiert.
Nun war alles wieder in Ordnung! Endlich klappten pearl-scripte.
Anbei noch ein kleines HOWTO dafür:
1. Verzeichnis für Apache Sources anlegen:
mkdir /sources/
2. wechseln in das Verzeichnis
cd /sources/
3. apache sources holen
apt-get source apache
4. ins apache verzeichnis wechseln
cd /sources/apache/apache-1.3.26/debian
5. datei rules bearbeiten:
nano rules
6. in der config-sektion folgendes eintrage:
--suexec-gidmin=33 \
eventuell noch den docroot anpassen
7. rules speichern
8. In das Apache Stammverzeichnis wechseln:
cd /sources/apache/apache-1.3.2
9. Apache-Debian-Packet bauen (evtl. rfakeroot mit apt-get nachinstallieren):
dpkg-buildpackages -rfakeroot -us -uc
10. Apache installieren
dpkg -i apache-common_1.3.26-0woody3_i386.deb
dpkg -i apache-dev_1.3.26-0woody3_i386.deb
dpkg -i apache_1.3.26-0woody3_i386.deb
dpkg -i apache-doc_1.3.26-0woody3_all.deb
FERTIG !!!!!
Ich hoffe man kann das HOWTO lesen und verstehen (war ne "Blitzidee!")
sollte ich hiermit allgemein Sicherheitsrechte verletztem. Bitte ich um Anmerkungen.
Auch mein rechtschreibchaos bitte ich zu verzeihen. Naja nun schluß(ss)
mfg Heiko