[Sendmail] Konfiguration mit meheren Domains
Hallo Liste, vielleicht kennt sich jemand mit dem folgenden Problem aus oder weiss wo man das nachlesen kann. Ich möchte die bei uns z.Zt. laufenden Windoof Mailserver entsorgen und alles auf eine SuSE8.0 Server übertragen. Dabei soll Sendmail zum Einsatz kommen und alle drei Domains verwalten. Jede Domain hat eine unterschiedliche Anzahl an User - ich glaube so etwa 15, 45 und 120 User -. Wie kann ich jetzt vorgehen, um alle User so schnell wie möglich umzuschalten. Die Domain sind schon alle dem Linux Server bekannt. Eine Domain ist jetzt ebenfalls schon im Sendmail bekannt gegeben worden, sowie zwei User. Die beiden User können auch senden und Empfangen. Wie ordne ich jetzt aber die anderen zu, ohne vielleicht a) jedesmal ein neues home-directory anzulegen und wie kann ich dann den Usern die entsprechende Domain zuweisen. Vielleicht weiss jemand wie das zu berwerkstelligen ist; ich habe schon einiges gesucht, aber nicht definitves gefunden - vielleicht aber auch überlesen... Gruß Alex
Hallo, Am Donnerstag, 15. August 2002 19:37 schrieb Alexander Reuther:
vielleicht kennt sich jemand mit dem folgenden Problem aus oder weiss wo man das nachlesen kann.
"man sendmail" :-) scnr ;-)
Die Domain sind schon alle dem Linux Server bekannt. Eine Domain ist jetzt ebenfalls schon im Sendmail bekannt gegeben worden, sowie zwei User. Die beiden User können auch senden und Empfangen. Wie ordne ich jetzt aber die anderen zu, ohne vielleicht a) jedesmal ein neues home-directory anzulegen und wie kann ich dann den Usern die entsprechende Domain zuweisen.
a) User, die via POP3, oder was auch immer, abrufen müssen auch ein ~/home-Verzeichnis haben. Damit aber Deine Festplatte nicht mit ~/home's überquillt, lege einfach /dev/null als ~/home fest. Lege dafür eine Gruppe fest, die alle diese Leute reinsollen. Da mei mir auch FTP gemacht wird habe ich dafür die Gruppe "chroot" angelegt. groupadd chroot Anschliessend kannst Du jeden User wie folgt festlegen. useradd \ -g chroot \ -d /dev/null \ -s /bin/false \ -c <Voller Namer des Users> \ -p <Passwort des Users> \ <Linux-Username> -g Legt den Gruppennamen fest -d Legt das Home-Verzeichnis fest -s Legt die LoginShell fest (hier: keine) Zu "-c" habe ich das bei mir immer mit "Vorname Nachname" gefüllt, was es dann einfacher macht bei Problemen nach dem Nachnamen in der "/etc/passwd" zu greppen um den Linux-Usernamen zu ermitteln. Der Linux-Username kann ruhig kryptisch sein aka 12fsd8rer oder so :-)
Vielleicht weiss jemand wie das zu berwerkstelligen ist; ich habe schon einiges gesucht, aber nicht definitves gefunden - vielleicht aber auch überlesen...
Es gibt bei sendmail das Feature "/etc/mail/virtusertable" Dort kannst Du dann nach folgendem Muster eMail-Adressen auf lokale User zeigen lassen. user1@domain1 843m4 user1@domain2 ki8vtm user1@domain3 7kv5n bis dahin Martin Mewes -- http://www.mamemu.de/ Registered Linux User:274764 - http://counter.li.org/ Der Forte Agent in Deutsch: http://agent-de.mamemu.de/ AdminTool für Linux: http://admintool.lingua.at/
Hallo Martin, danke erstmal für das ausführliche 'Micro-HowTo' :) Die einzigste Sache, diemich daran stört, ist genau die besagte virtusertable, ich müsste knapp 200 Account von Hand dort reinschaufeln lassen. einen Automatismus gibt es dazu nicht ? Gruß Alex
Hallo, On Thu, 15 Aug 2002, Alexander Reuther wrote:
Hallo Martin,
danke erstmal für das ausführliche 'Micro-HowTo' :)
Achso: Nachlesen kann man weniger in der manpage, als in den anderen mitgelieferten Docs, z.B. /usr/share/sendmail/README und /usr[/share]/doc/packages/sendmail/*.
Die einzigste Sache, diemich daran stört, ist genau die besagte virtusertable, ich müsste knapp 200 Account von Hand dort reinschaufeln lassen.
einen Automatismus gibt es dazu nicht ?
Fuer sowas gibt's doch die shell. Schreib dir ein wrapper-script um die benoetigten Befehle: ==== nur andeutungshalber ==== #!/bin/sh read uid name passwd email comment # hier die Variablen abtesten!!! useradd [..] -u "$uid" -c "$comment" -p "$passwd" "$name" echo "$email: $name" >> /etc/mail/virtusertable make -C /etc/mail/ virtusertable.db rcsendmail reload ==== Das schwierigste ist eigentlich das abtesten, ob legale Werte uebergeben wurden. Achso, und eine Schleife + Eingabedatei geht auch: ==== noch ein broeckelchen ==== while read uid name passwd email comment do useradd ... echo ... done make -C /etc/mail/ virtusertable.db rcsendmail reload ==== Eingabedateibeispiel: ==== 3001 usr1 45xpl41 "user1@foo.tld" "User Eins" 3002 usr2 45xpl41 "user2@foo.tld" "User Zwei" [..] ==== Wenn man einen anderen Feldtrenner (z.B. ':' wie in der passwd) verwendet und das script anpasst, ist man auch bei der Eingabe flexibler ;) Waere doch mal ne Gelegenheit, sich ein wenig naeher mit der bash zu beschaeftigen, oder? *g* -dnh -- 190: Cisco Protokolhure. (unbekannt)
participants (3)
-
Alexander Reuther
-
David Haller
-
Martin Mewes