Die Fehlermeldung
NOQUEUE: SYSERR(www): can not chdir(/var/spool/mqueue/): Permission denied |
Ein Lösungsansatz
Laut Google ist das ein verbreitetes Problem, doch in keinem der Threads, die ich fand, wurde auch eine Lösung angeboten, daher hier in aller Kürze: der Fehler trat bei mir nach der Neuinstallation meines Servers mit PHP-5.2.5 und sendmail-8.14.2 auf, dass es plötzlich zu oben genannter Fehlermeldung, wenn aus einem PHP-Script heraus die mail()-Funktion aufgerufen wurde.
Der Fehler lässt vermuten, dass die Permissions auf /var/spool/mqueue fehlerhaft seien; seit sendmail-8.12 haben die auf 0700 zu stehen (also drwx——), und das taten sie auch. Und auch ein Setzen auf 0777 (drwxrwxrwx, was natürlich völliger Irrsinn ist) bringt einen hier nicht weiter, die Mail wird trotzdem nicht ausgeliefert. Also mal einen Blick auf das sendmail-Binary werfen:
$ ls -la sendmail -r-xr-sr-x 1 root smmsp 654418 Mar 4 15:30 sendmail |
Wir sehen, dass das SUID-Bit für die Gruppe gesetzt ist; dieses habe ich wie folgt geändert:
$ chmod 4655 sendmail $ ls -la sendmail -rwSr-xr-x 1 root smmsp 654418 Mar 4 15:30 sendmail $ /etc/rc.d/sendmail restart |
Danach tat alles so, wie es soll (achja, das verwendete System ist ein NetBSD-current).
*g*
@Oliver: Hmmmm, bewerten… Nunja, »performant« ist so das erste Schlagwort, das mir einfällt, und »stabil« ist das zweite — was, zumindest unter XEN, dann doch eher verwunderte.
Desweiteren ist wohl allenfalls als »verrückt« zu bewerten :D
>Achja, das verwendete System ist ein NetBSD-current
Mein letzter Kontakt mit FreeBSD war ein Amiga und der erste stabile 68k Port damals :D, soll heissen – im Prinzip keine Ahnung *g*
Wie kann man denn da ein Current auf dem Server bewerten?