Problem:

Nach einem Update mit Yast, welches u.a. ein neues Perl-Paket enthielt funktioniert Qmail nur noch zum Teil. Interne Emails können verschickt werden, PHP-Scripte, etc. können ebenfalls Emails senden. Sobald man aber von ausserhalb Emails einliefern will (egal ob per SMTP-Auth oder nicht) quitiert der Server und im maillog steht folgendes:
X-Qmail-Scanner-1.24st visas: [h68542611376778016966519] cannot open /var/spool/qmailscan/qmail-scanner-queue-version.txt - did you initialise the system by running "qmail-scanner-queue.pl -z"? - Permission denied

Erklärung:

Das SUID-Bit von suidperl ist sicherheitshalber standardmässig nicht gesetzt. Wenn also eine neue Version von suidperl eingespielt wird, funktionieren alle Programme/Scripte, die dies brauchen nicht mehr.

Aber was hat Qmail mit Perl zu tun?
Die häufigste Lösung um einen Virenscanner/SpamAssassin in Qmail zu integrieren läuft über den Qmailqueue-Patch. Hierbei wird in Qmail-Config die Variable QMAILQUEUE gesetzt als Ersatz für das std. Programm qmail-queue. Dieser Ersatz wird meist in Form eines Perl-Scriptes geschrieben. Da die qmail-queue nur bei externen Einlieferungen greift, spukt er auch nur dabei Fehler aus.

Lösung:

chmod 4755 /usr/bin/suidperl

Kategorien:

Stichwörter:

qmail · perl · qmailqueue · patch · script · scanner · queue · visas · suse · yast ·