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