sendmail a /etc/group

Martin Mares mj na k332.feld.cvut.cz
Středa Prosinec 4 11:32:56 CET 1996


Dobreho dne preji,

> zkousel jsem si nakonfigurovat sendmail (8.8.3) a chtel bych, kdyz
> prijde mail na adresu xxx na host.domain.cz, kde 'xxx' je skupina
> definovana v /etc/group, aby se rozeslal clenum teto skupiny. Bohuzel
> nikde v dokumentaci jsem nenasel zpusob, jak to udelat. Dokazal bych
> k tomu donutit deliver (proste se mu napise vhodny skript, ktery ty
> jmena skupin nahradi jmeny uzivatelu v nich, a ten se mu podstrci jako
> deliver.sys), jenze jsem narazil na problem, ze jakmile sendmail zjisti,
> ze jmeno neodpovida zadnemu lokalnimu uzivateli, posle mail zpatky
> (user unknown) a program deliver se ke slovu vubec nedostane.
>   Samozrejme, ze to jde resit tak, ze opisu ty skupiny z /etc/group
> do /etc/alias nebo dam do cron tabulky skript, ktery to bude delat
> pravidelne za mne, jenze se mi zda, ze by to nemelo byt nutne. Budu
> vdecny za vsechny napady.

   Napriklad to je mozno resit za pomoci drobnych uprav sendmail.cf
a programu procmail pouziteho jako lokalni postak: nainstalujte
si procmail, zalozte fiktivniho uzivatele "group" a nasledujici
patch do sendmail.cf zajisti, ze veskere maily posilane na skupiny
budou forwardovany na adresu "group+jmeno_skupiny", tedy uzivateli
"group" s predanim parametru "jmeno_skupiny" jeho procmailovemu
scriptu, ktery muze doruceni provest trivialne.

   Neni to sice zrovna pekne reseni, ale melo by fungovat.

							Martin

--- sendmail.cf.old	Wed Dec  4 10:53:01 1996
+++ sendmail.cf	Wed Dec  4 11:31:53 1996
@@ -104,6 +104,9 @@
 # Virtual user table (maps incoming users)
 #Kvirtuser btree /etc/virtusertable
 
+# Group file
+Kgroup text -z: -k0 -v0 /etc/group
+
 # who I send unqualified names to (null means deliver locally)
 DR
 
@@ -714,6 +717,15 @@
 ###################################################################
 
 S98
+# Handle group hacks (convert group names to group+name)
+R$+ < @ $=w . > 	$: $(group $1 $: $) @ $1 < @ $2 . >
+R$+ @ $+ < $* >		$: group+$1 < $2 >
+R@ $* < $* >		$: $1 < $2 >
+R$+ < @ $* > $*		$@ $1 < @ $2 > $3
+R$+			$: $(group $1 $: $) @ $1
+R$+ @ $+		$: group+$1
+R@ $*			$: $1
+
 #

 ######################################################################
 ######################################################################


Další informace o konferenci Linux