PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : cyrus imap



mueder_joe
16.02.04, 14:46
nach langem hin und her hab ich mich durchgerungen, einen imap-server unter suse 8.2 aufzusetzen. soweit, so gut., bis ich zu dieser meldung komme, wenn ich einen user anlegen möchte:

cyradm -user cyrus localhost
IMAP Password:

LOGIN failed at /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi/Cyrus/IMAP/Admin.pm line 114
cyradm: cannot authenticate to server with as cyrus
so. passwort hab ich nie wo eines angelgt. wenn ich localhost weglasse, kann ich mit cyradm arbeiten, aber er findet keine verbindung zum server.
wo liegt da der hund begraben?

imap habe ich als netzwerkdienste gestartet.
hoffe auf eine (brauchbare) antwort

mueder_joe
:confused:

steve-bracket
16.02.04, 14:53
huhu

http://www.linuxforen.de/forums/showthread.php?s=&threadid=98791&highlight=cyrus

cyradm --auth login --user cyrus localhost

Gruß
steve

mueder_joe
16.02.04, 14:57
erst mal danke dafür. war beim suchen im forum noch nicht so weit vorgedrungen. danke, dass sich wer gefunden hat, der weiß, wo man sowas findet

mueder_joe
16.02.04, 15:25
irgendwie steh ich da heute auf der leitung:
hab in der zeile in der imap.conf stehen:
sasl_pwcheck_method: saslauthd
wie lege ich da ein passwort an,
die anderen methoden passwd usw. funktionieren nicht

mueder_joe
16.02.04, 16:55
bin ein klein wenig wetergekommen bis zu dem gehler:

wolfgang:/usr/sbin # imtest -m login -p imap localhost
S: * OK wolfgang Cyrus IMAP4 v2.1.12 server ready
C: C01 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES IDLE AUTH=GSSAPI AUTH=CRAM-MD5 AUTH=DIGEST-MD5 ANNOTATEMORE X-NETSCAPE
S: C01 OK Completed
Please enter your password:
C: L01 LOGIN root {8}
S: + go ahead
C: <omitted>
S: L01 NO Login failed: no mechanism available
Authentication failed. generic failure
Security strength factor: 0
:mad:

mueder_joe
16.02.04, 17:22
:mad: :mad: :mad:
das zeigt meine stimmung wieder...
ich schaff es einfach nicht, an diesem schönen server anzmelden. entweder bringt er die oben gepostete fehlermeldung oder eben die ganz am anfang gepostete.
cih weiß echt nicht mehr, wo ich sonst noch infos herbekommen soll, wenn alle mit ihren informationen so kryptisch herumdrücken...

steve-bracket
17.02.04, 06:24
Zu Cyrus gibt es massenhaft Infos.
Wogegen willst du den authentifizieren?
Bei saslauthd wird über pam gegen die passwd authentifiziert.
Dh für jeden Mailaccount muss ein gleichnamiger POSIX Account existieren
(Bei auxprop wird die sasldb verwendet)

1. saslauthd, cyrus müssen laufen
2. passwd cyrus
3. cyradm --auth login --user cyrus localhost

Standardmässig läuft es so, wenn nicht dann wurden Änderungen durchgeführt.

Gruß
Steve

CoolTux
17.02.04, 07:08
Hast du denn nun schon ein passwort für den cyrus user angelegt. saslpasswd2 ist der Befehl dazu.

1. saslauthd -- muß nicht laufen, brauchst du nur für postfix mit smtpauth server



CoolTux

mueder_joe
17.02.04, 07:44
ganau die zeile versteh ich nicht:
Bei saslauthd wird über pam gegen die passwd authentifiziert.
Dh für jeden Mailaccount muss ein gleichnamiger POSIX Account existieren
was ist POSIX?

meine imapd.conf:
configdirectory: /var/lib/imap
partition-default: /var/spool/imap
sievedir: /var/lib/sieve
admins: cyrus
allowanonymouslogin: no
autocreatequota: 10000
reject8bit: no
quotawarn: 90
timeout: 30
poptimeout: 10
dracinterval: 0
drachost: localhost
sasl_pwcheck_method: saslauthd
lmtp_overquota_perm_failure: no

weiters:
rccyrus status
Checking for service IMAP/POP3 (cyrus-imapd): running

rcsaslauthd status
Checking for service saslauthd: running

was mach ich falsch????
:confused:

steve-bracket
17.02.04, 20:57
Original geschrieben von CoolTux
Hast du denn nun schon ein passwort für den cyrus user angelegt. saslpasswd2 ist der Befehl dazu.
1. saslauthd -- muß nicht laufen, brauchst du nur für postfix mit smtpauth server

Nein, das stimmt nicht.
Bei seiner Konstellation (eben out of the Box - SuSE 8.2) bringt Ihm saslpasswd2 gar nichts, da gegen die passwd authentifiziert wird.
passwd cyrus muss ausgeführt werden
Und bei seiner Config muss saslauthd sehr wohl laufen da dieser Dienst die Anfragen seitens Cyrus annimmt und über pam weitergibt.

Leg einfach einen User mittels Yast an und vergib ein Passwort.
Danach führst du die drei Schritte im vorherigen Post aus.
Mit cyradm legst du ein Postfach an das genau so lautet wie der vorher angelegt User und du hast über diese Daten Zugriff.
Das ist alles.

Gruß

Huhn Hur Tu
17.02.04, 22:45
solange kein saslauth laeuft kann keine auth funzen. Gilt auch fuer Samba. Der Imap Admin is t hoffentlich ein User im System!!!?
MFG Stefan

mueder_joe
18.02.04, 11:01
an steve-bracket
hab dir eine nachricht geschickt

steve-bracket
18.02.04, 11:53
Servus

Ja, hab ich gesehen, und ich verstehe dich nicht wirklich.
Natürlich verspürt man immer eine gewisse Anspannung wenn irgendwo Komplikationen auftreten, aber habe schon alles erwähnt was relevant ist, und zwar Step-by-Step.

Nochmal zur Wiederholung.
Deine Ausgangsbasis ist eine frisch installierte SuSE8.2 mit der nötigen Software.
Dazu muss man wissen, dass out of the Box gegen saslauthd und in weiterer Folge gegen Passwd authentifiziert wird.
Das wiederum heißt, man muss zu jeder Mailbox einen gleichnamigen User anlegen. (geht ganz einfach über Yast)
Die Dienste saslauthd und cyrus müssen laufen.
Dem User Cyrus muss demnach auch ein Passwort vergeben werden. (passwd cyrus)
Über "cyradm --auth login --user cyrus localhost" kannst du dich nun am Managementtool cyradm anmelden und eine Mailbox erstellen (die genauso lauten muss wie der vorher erstellte Account)
Sobald das erledigt ist funktioniert es ohne Probleme.
Nachdem ich jetzt nicht weiß welchen Internet services daemon (Inetd, Xinetd) du verwendest kann ich auch keine genauen Angaben machen, aber unter SuSE 8.2 kannst du soweit ich weiß bequem im Yast die konfiguration vornehmen. (Netzwerkdienste, inetd)
Den musst du aktivieren und je nachdem was du benötigst konfigurieren. (in deinem Fall pop3 und imap, geht glaub ich alles über yast)

Das ist alles zum Imapdienst Cyrus.
Der SMTP ist ein eigenes Thema.

Tip:
Allgemeiner Fachliteratur zu den Themen POP3, Imap, SMTP wäre angebracht
Linux BASIC's wären auch nicht schlecht.
Logfiles beobachten
Detailiertere Info posten, was hat du schon gemacht, versucht --> Resultat, Logfile Ausgabe usw....

Bei einer Anzahl von 700 Mailkonten wäre es vernünftig, mal über die Verwaltung und Art der Authentifizierung nachzudenken.
Grundsätzlich reicht diese Art vollkommen, es wird zu jedem Konto ein User benötigt. Das kann gewünscht sein falls die User (Schüler??) zB auch einen SSH Zugang benötigen und der Admin die Konten verwaltet.
!?!?!?!
In deinem Fall (Schule) hast eh ein "Kompetenzzentrum" greifbar, da kann dir bestimmt jemand weiterhelfen.


Gruß

mueder_joe
18.02.04, 12:16
ok, dann noch mal von vorne:
rccyrus und saslauthd laufen.
in der inetd habe ich imap auf
imap stream tcp nowait cyrus /usr/cyrus/bin/imapd imapd
pop3 stream tcp nowait root /usr/sbin/tcpd ipop3d
gesetzt. => also diese dienste laufen auch, nachdem ich rcxinetd restart eingetippt habe.
user cyrus gibt es und einen user test auch.
soweit so gut. dürfte ja wohl alles laufen, oder?
(imap hab ich über yast installiert und den rest der runlevel und netzwerkdiesnte auch).
soweit, so gut, gehe dann mit cyrdm --auth login -user cyrus localhost rein, fragt mich auch nach dem imap passwort, lande dann aber ohne weitere fehlermeldung wieder auf der console.

ad schule: dieses kompetenzzentrum beschränkt sich leider nur auf die 2003 server. sonst haben die mit linux nichts am hut, außer einem routing server, der von einem ehemaligem schüler ferngewartet wird....:D

steve-bracket
18.02.04, 14:17
Original geschrieben von mueder_joe

cyradm --auth login --user cyrus localhost


Keine Fehlermeldung ist gut.
Konsole ist gut.
Die Konsole fängt wohl nun so an.
localhost>

Gruß

mueder_joe
18.02.04, 14:34
na, ich komm wieder auf die konsole zurück und da steht: server:~#

steve-bracket
18.02.04, 14:40
Was sagen die Logs

??

mueder_joe
18.02.04, 14:42
wo find ich die?
das hab ich vergessen zu fragen

steve-bracket
18.02.04, 14:45
/var/log

mueder_joe
18.02.04, 14:49
ok, anscheinend fehlt ihm da eine datei oder db.
Feb 18 15:46:23 wolfgang master[18046]: about to exec /usr/lib/cyrus/bin/ctl_cyrusdb
Feb 18 15:46:23 wolfgang ctl_cyrusdb[18046]: checkpointing cyrus databases
Feb 18 15:46:23 wolfgang ctl_cyrusdb[18046]: DBERROR db4: /var/imap/db/__db.001: No such file or directory
Feb 18 15:46:23 wolfgang ctl_cyrusdb[18046]: DBERROR: dbenv->open '/var/imap/db' failed: No such file or directory
Feb 18 15:46:23 wolfgang ctl_cyrusdb[18046]: DBERROR: init /var/imap/db: cyrusdb error
Feb 18 15:46:23 wolfgang ctl_cyrusdb[18046]: done checkpointing cyrus databases
Feb 18 15:46:23 wolfgang master[16778]: process 18046 exited, status 1

GabbbaGandalf
02.03.04, 20:15
Hi

hat sich da noch irgend etwas getan? ICh stehe vor exakt dem selben Problem

verbalhoodz
03.03.04, 08:56
also dann werde auch ich mal mein senf dazu geben!

Cyrus läuft nicht über xinetd oder inetd frühere versionen jedoch schon!
Die Howtos sind dazu leider veraltet! Du musst folgendes beachten!

1. Wie soll authedifiziert werden?
2. IMAP imaps pop3 pop3s usw.??
3. lmpt???


Cyrus benötigt um sich zu autendifizieren die sasl2lib! folgendes musst du zuerst im xinetd/inetd ausschalten!

imap, pop3, imaps, pop3s
disable = yes

danach den xinetd neustarten

killall -1 xinetd

mittels

lsof -i | grep imap

lsof -i | grep pop3

sollten nun keine offenen verbindungen bestehen.


du musst nun /etc/cyrus.conf wie folgt anpassen oder neuerstellen:
mein cyrus bietet nur imap an! wenn du pop3 auch benötigt dann kannst du dies auskommentieren.

[root@fedora root]# cat /etc/cyrus.conf
# standard standalone server implementation

START {
# do not delete this entry!
recover cmd="ctl_cyrusdb -r"

# this is only necessary if using idled for IMAP IDLE
# idled cmd="idled"
}

# UNIX sockets start with a slash and are put into /var/imap/socket
SERVICES {
# add or remove based on preferences
imap cmd="imapd" listen="imap" prefork=0
#imaps cmd="imapd -s" listen="imaps" prefork=0
#pop3 cmd="pop3d" listen="pop3" prefork=0
#pop3s cmd="pop3d -s" listen="pop3s" prefork=0
#sieve cmd="timsieved" listen="sieve" prefork=0

# these are only necessary if receiving/exporting usenet via NNTP
# nntp cmd="nntpd" listen="nntp" prefork=0
# nntps cmd="nntpd -s" listen="nntps" prefork=0

# at least one LMTP is required for delivery
# lmtp cmd="lmtpd" listen="lmtp" prefork=0
lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0

# this is only necessary if using notifications
# notify cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1
}

EVENTS {
# this is required
checkpoint cmd="ctl_cyrusdb -c" period=30

# this is only necessary if using duplicate delivery suppression,
# Sieve or NNTP
delprune cmd="cyr_expire -E 3" at=0400

# this is only necessary if caching TLS sessions
tlsprune cmd="tls_prune" at=0400
}


Nun musst du die /etc/imapd.conf datei editieren als admin kann ruhig nur cyrus verwendet werden ich benutze jedoch cyrus und root:
sasl_passwd_check: sasldb heisst das ich mich mit der sasldb authendifizieren möchte und nicht mit der passwd oder shadow oder den saslauthd.

[root@fedora root]# cat /etc/imapd.conf
configdirectory: /var/imap
partition-default: /var/spool/imap
admins: cyrus root
srvtab: /var/imap/srvtab
allowanonymouslogin: no
sasl_passwd_check: sasldb


als nächstes musst mit mittels saslpasswd2 cyrus einen neuen sasl user (cyrus) erstellen un diesem ein passwort vergeben!


Alles so weit so gut! nun kannst den master prozess von cyrus starten

/usr/cyrus/bin/master &


nun sollte ein
cyradm -u cyrus localhost funktionieren!

steve-bracket
03.03.04, 09:14
Original geschrieben von verbalhoodz
Nun musst du die /etc/imapd.conf datei editieren als admin kann ruhig nur cyrus verwendet werden ich benutze jedoch cyrus und root:
sasl_passwd_check: sasldb heisst das ich mich mit der sasldb authendifizieren möchte und nicht mit der passwd oder shadow oder den saslauthd.

[root@fedora root]# cat /etc/imapd.conf
configdirectory: /var/imap
partition-default: /var/spool/imap
admins: cyrus root
srvtab: /var/imap/srvtab
allowanonymouslogin: no
sasl_passwd_check: sasldb


/usr/cyrus/bin/master &


Hi
Du beziehst dich vermutlich auf Cyrus in der Version 1.x

Bei den aktuellen Cyrus Versionen (2.x) wird die sasldb nicht mit sasl_passwd_check: sasldb
sondern mit
sasl_passwd_check: auxprop
verwendet.

Und der Verfasser dieses Threads bezieht sich glaub ich auf eine Distribution von SuSE in der Version 8.2.
Dort wird von Haus aus nicht die Sasldb verwendet sondern mit Pam gegen passwd/shadow gecheckt.
Dadurch ist das anlegen eines LinuxAccounts notwendig und dann (mit cyradm) nur mehr ein gleichnamiger IMAP Account.
Das wars.
Das einzige was zu tun ist, man muss dem User Cyrus ein Passwort vergeben.
(passwd cyrus).
Das wäre alles, die Out-of-the-Box Konfiguration dieser Distri ist soweit komplett.
(Hab es vor kurzem testweise selber versucht und es hat funktioniert, darum bin ich leicht verwundert).


Gruß

verbalhoodz
03.03.04, 09:26
sasl_passwd_check: auxprop

habe es gerade mal probiert!
sasl_passwd_check: auxprop funktioniert wie auch sasldb
beide authedifizieren sich mit der /etc/sasl2passwd


Also ich würde nicht gegen die passwd bezh. shadow authedifizieren! das ist eben der vorteil von cyrus dass die user nicht posix user sein müssen!


greets

steve-bracket
03.03.04, 11:08
Hi

Kommt immer auf den Einsatzbereich an.
Wenn sowieso Posix Accounts benötigt werden ist es ein Vorteil, wenn keine benötigt werden ist die sasldb im Vorteil.

Bei einem reinen Mailserver wäre es angebracht gegen eine andere DB zu authen.
Ldap und MySQL sind da sehr gut und man ist flexibel.
Bei 700 Accounts mit sasldb, ich weiß nicht.

Naja, egal, solange der cyradm login nicht funktioniert geht eh nichts, wobei mich die Problematik wundert.
Gerade mit der Version 8.2 von SuSE ist sehr flott ein funktionierender SMTP/POP3/IMAP Daemon eingerichtet.

Gruß

Übrigends, deine Aussage zu xinetd, das ist mir neu, denn mit aktiviertem "imap und pop3" läuft es.

GabbbaGandalf
03.03.04, 19:35
Hi,

diese Lösung habe ich in einem anderen Forum gefunden und sie hat bei mir gefunzt:

Kleines howto:
Aus der /etc/imapd.conf
sasl_pwcheck_method: saslauthd
auskommentieren.

Unter /usr/lib/sasl2/smtpd.conf bitte folgende Zeile eintragen.
pwcheck_method: auxprop
Alles andere kann entfernt werden
Genau kann man die Sachen unter /usr/share/doc/packages/postfix/README_FILES/SASL_README nachlesen.

Dann die SASLDB anlegen, es gibt nur noch die SASLDB2 unter 8.2. Mit
saslpasswd2 -c -u `postconf -h myhostname` exampleuser
Falls postconf -h myhostname nicht funtioniert dann eben den Hostname an dieser Stelle eintragen.
Ich habe den Hostname und den Hostname+Domain eingetragen.
Bitte drauf achten das die SASLDB2 auf 644 steht. Damit auch andere auf die Datei zugreifen können.

Nun noch die postfix/main.cf ändern
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,check_ relay_domains,reject_unauth_destination
smtpd_sasl_local_domain = $myhostname.

Ich hoffe der howto hilft Euch ein wenig, leider gibt es noch einige Probleme.
Ich habe die User im aliases eingetragen, locale Mails können auch zugestellt werden, leider gehen Mails von extern verloren.
Aus diesem Grund habe ich noch die User local auf dem System angelegt.
Falls jemand eine Lösung findet, dann postet das bitte in diesem Forum.

Xato
16.10.06, 20:03
Wo liegt die Datei SASLDB2 denn? In welchem Ordner?

Roger Wilco
16.10.06, 21:49
/etc/sasldb2, /etc/sasl/sasldb2, usw.
Je nach Konfiguration und Compile-Time Optionen...