[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Hur anropa procmail?



On Tue, 09 Mar 2004 22:08:17 +0100, Martin Wickman <martin.wickman@xms.se>
posted to debian-user-swedish:
 > Mikael Bergman wrote:
 >> |IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #user
 >> Jag har förstått att det på något sätt är ett snyggare sätt att se
 > Rätta mig gärna, men så här har jag fått för mig att det fungerar:
 > IFS talar om vilka tecken som används för att splitta fält, ungefär
 > som FS i awk. I detta fall sätts IFS av (historiska?) säkerhetsskäl så
 > ingen kan luras.

Japp, det var ett säkerhetshål i Sendmail version, öh, typ 6 ungefär,
vilket bör ha korrigerats för något årtionde sedan, men det är ju för
all del på säkrare sidan att vara på säkrare sidan.

 > Sen körs procmail. Om procmail genererar ett fel kommer exit att
 > köras och returnera 75 till processen som startade .forward,

Näpp, utan om exec lyckas så tar Procmail över kontrollen helt, och
bestämmer helt själv om det skall returneras någon felkod. I det fall
att exec av någon anledning misslyckas kommer däremot felkoden 75 att
returneras till Sendmail av denna .forward.

Orsaker till att exec misslyckas är t.ex. om /usr/bin inte alls är
monterad eller om Procmail inte är installerad där. Om Procmail är
dynamiskt länkad mot biblioteksfiler som saknas kan det också gå fel.

Det här är ganska exotiska scenarier som närmast kan komma i fråga om
Procmail körs på en maskin som hämtar /lib och/eller /usr över NFS
eller något annat lika patologiskt. Nu för tiden finns det väl sällan
någon rimlig orsak att ha sådana arrangemang. Installera Procmail och
Sendmail lokalt på den maskin som hanterar posten, förgusskull.

 > gissningsvis sendmail. 75 betyder att sendmail ska köa mailet igen
 > och försöka senare.

Många andra MTA använder samma felkoder som Sendmail (qmail är ett
undantag) men denna form av .forward är nog ganska specifik för just
Sendmail och fungerar troligen inte alls med andra MTA.

 > Logiskt? nej. Svart magi? ja.

Mindre relevant detta årtusende i vilket fall som helst. Det borde
vara spöstraff och indragen veckopeng på att köra en Sendmail som är
mer än ett par år gammal.

/* era */

-- 
formail -s procmail <http://www.iki.fi/era/spam/ >http://www.euro.cauce.org/
cat | more | cat<http://www.iki.fi/era/unix/award.html>http://www.debian.org/



Reply to: