• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

IMAP (CYRUS+SIEVE)Probleme sieveshell line 174, <STDIN&gt

Status
Für weitere Antworten geschlossen.

Magu81

Newbie
Nachdem ich mich nun extra wieder hier anmelden habe müssen, zumal ich auch leider meinen Account vergessen habe und ich doch schon seit Wochen versuche, jedenfalls hin und wieder es versuche, ein Problem zu lösen, zu welchem es auch so gut wie ncihts im Netz gibt, jedenfalls ncihts was mein Problem betrifft, so dachte ich, einfach mal wieder hier her ins Forum zu kommen, zumal mir der LInux-club bereits schon zu längst vergangenen Zeiten immer sehr geholfen hat, etwaigen Problemen immer doch sehr konkret zu entgegnen.

Das Problem, um mal kurz auf die Thematik einzugehen, betrifft CYRUS, näher gesagt der Filter ,,SIEVE".

Um kurz und bündig einige Vorurteile diverser Leser auszuräumen, möchte oder sollte ich gar erwähnen, dass CYRUS bei mir soweit LÄUFT!!

Also ich habe absolut kein Probl. damit, in den administrativen Bereich von Cyrus ( cyradm --user XXX localhost) zu gelangen.

Auch der Referenzeierte TEst mittels (imtest -m login localhost) funktioniert soweit als auch ein normales TELNET LOCALHOST IMAP genauso funktioniert.

Also, um nun doch einfach mal präzise an die Thematik heran zu gehen, sollte noch erwähnt werden, dass es sich heierbei def. um ein distributionsabhängiges Problem handelt, zu welchem, auch keine präzise Problemlösung seither geschrieben wurde, und wenn, dann brachten diese Lösungen auch nur viel mehr wirbel in die Sache hinein, als doch vielmehr das Problem nun auch zu lösen.

Deshalb denke ich im Sinne vieler USER, welche das selbe Problem haben, zu handeln.

Ach ja, mein OS ist SUSE 9.0 !

Die Config's:


/etc/imapd.conf

sievedir: /var/lib/sieve
admins: cyrus root
allowanonymouslogin: no
#allowplaintext: yes
autocreatequota: 10000
servername: pegasus.home
reject8bit: no
quotawarn: 90
timeout: 30
poptimeout: 10
dracinterval: 0
drachost: localhost
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN
sasl_minimum_layer:0

lmtp_overquota_perm_failure: no
#
# if you want TLS, you have to generate certificates and keys
#
#tls_cert_file: /usr/ssl/certs/cert.pem
#tls_key_file: /usr/ssl/certs/skey.pem
#tls_ca_file: /usr/ssl/CA/CAcert.pem
#tls_ca_path: /usr/ssl/CA



/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/lib/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

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

# this is only necessary if using notifications
# notify cmd="notifyd" listen="/var/lib/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
delprune cmd="ctl_deliver -E 3" period=1440

# this is only necessary if caching TLS sessions
tlsprune cmd="tls_prune" period=1440

# Uncomment the next entry, if you want to automatically remove
# old messages of EVERY user.
# This example calls ipurge every 60 minutes and ipurge will delete
# ALL messages older then 30 days.
# enter 'man 8 ipurge' for more details

# cleanup cmd="ipurge -d 30 -f" period=60
}


/etc/sysconfig/saslauthd
## Path: System/Security/SASL
## Type: list(getpwent,kerberos5,pam,rimap,shadow,ldap)
## Default: pam
## ServiceRestart: saslauthd
#
# Authentication mechanism to use by saslauthd.
# See man 8 saslauthd for available mechanisms.
#
SASLAUTHD_AUTHMECH=pam



Jedenfalls funktioniert ein Login über CYRADM in den administrativen Bereich ohne Probleme, mittels dem USER cyrus, welcher als Systemuser der GRUPPE mail zugeordnet wurde.

beim login ALLERDINGS in sieveshell mittels

sieveshell --user=cyrus --auth=cyrus localhost

bekomme ich folgende Fehlermeldung, nachdem eine Passwortaufforderung kam, und das Passwort auch richtig eingegeben wurde.

connecting to localhost
Please enter your password:

unable to connect to server at /usr/bin/sieveshell line 174, <STDIN> line


Vorab möchte ich aber noch erwähnen, dass ein Passwort mittels saslpasswd2 -c cyrus bereits vergeben wurde.

Also ich denke nunmal dass es ein authentifizierungsproblem ist, bei welchem PAM, oder aber SHADOW gegenüber den SASLAUTHD nicht richtig authorisiert. Jedenfalls kann ich es mir nciht anderst vorstellen, zumal ich schon jede denkbare Konstellation der 2 wichtigen Config's, durchgespielt habe. Sprich, solange eine Authentifiezierung über CYRADM klappt, soweit dürfte auch der AUTH_MECH richtig eingestellt sein, denn wäre er falsch, so könnte ich mich auch nciht mehr in CYRADM einloggen und es würde auch nciht plausibel sein, dass dann SIEVESHELL mittels falsche Einstellung aufeinmal funktionieren würde.

Ach ja, nur zum verdeutlichen, dass mein CYRUS-USER existiert und aber dem CYRUS auch bekannt ist .

sasldblistusers2
cyrus@pegasus: userPassword


Von daher, muss es ein kommunikatives Problem zweier Module sein.

PERL wurde installiert, ebenso alle CYRUS betreffenden oder nur annähernd mit CYRUS zu assoziierende Pakte habe ich nunmal rein präventiv installiert, um ein Fehlern von Pakten nunmehr hoffentlich ganz auschließen zu können.


Bitte um Hilfe !!!


MfG

David
 

Frankie777

Advanced Hacker
Hat der User cyrus bei Dir eine Mailbox?
Das wäre ungewöhnlich.

Versuch es doch mal mit einem normalen User der auch eine Mailbox hat.
 

stka

Guru
Also bei deiner Konfiguration finde ich im Moment nichts, meine ist fast genau so, ich habe einige deiner Parameter bei mir angpasst und alles lief. Aber mit dem Benutzer cyrus kann ich mich auch nicht anmelden. Es geht nur mit Benutzern die auch eine Mailbox haben. Was passiert den bei der Anmeldung eines normalen Benutzers. Wenn du dann sieve nutzen willst, kann ich dir smartsieve ans Herz legen, ist web-basiert und kann von jedem Benutzer sehr intuitiv verwendet werden.
 

Frankie777

Advanced Hacker
Läuft sieve überhaupt?

#netstat -tlnp | grep 2000

Ansonsten wäre doch eh ein Update fällig, bei Suse 9.3 und 10.1 läuft das Postfix, amavis, Cyrus Paket sehr gut.
 
OP
M

Magu81

Newbie
Hey Frankie,

scheint so als würde sieve laufen.

pegasus:~ # netstat -tlnp | grep 2000

tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN 1996/master


Bin solangsam bald am Ende, kann doch wohl nciht so schwer sein. Habe schon ganz andere Dinge zum laufen bekommen, aber hier, hier beisse ich mir echt die Zähne daran aus. Nichtmal einer meiner Kollegen, kommt damit klar. Bin solangsam echt kurz davor alles auf Debian umzulegen, auch wenn ich seither mit Suse wirklich sehr zufrieden war.

Also, es existieren nun 2 User. Der erste USER ,,cyrus" ist Systemuser der Gruppe mail, unter welchem der Dienst CYRUS läuft. Der zweite user ist CYRUS-INTERN, extra nochmals einen als ,,test"-user angelkegt, der Mailbox-user. Beim loginversuch über sieveshell

sieveshell --user=test --auth=cyrus localhost

wieder folgende meldung!

connecting to localhost
Please enter your password:
unable to connect to server at /usr/bin/sieveshell line 174, <STDIN> line 1.


Ist doch richtig so, oder? Ich logge mich mit dem Mailbox-user ==> ,,test" , über den authentisierungsmechanismus von ,,cyrus" ein !?!

Ich verstehe es cniht, ich komme mir solangsam wieder vor, wie vor Jahren noch, bei den ersten Gehversuchen unter der KOnsole.


Bei der Durchsicht meiner Logfile kam folgendes zum Vorschein.

cat /var/log/messages | grep sieve


Nov 21 10:01:56 pegasus master[2120]: about to exec /usr/lib/cyrus/bin/timsieved
Nov 21 10:01:56 pegasus sieve[2120]: executed
Nov 21 10:01:56 pegasus sieve[2120]: accepted connection
Nov 21 10:01:58 pegasus PAM-warn[1989]: function=[pam_sm_authenticate] service=[sieve] terminal=[<unknown>] user=[cyrus] ruser=[<unknown>] rhost=[<unknown>]
Nov 21 10:01:58 pegasus saslauthd[1989]: do_auth : auth failure: [service=sieve] [realm=] [mech=pam] [reason=PAM auth error]
Nov 21 10:01:58 pegasus timsieved[2120]: Password verification failed
Nov 21 10:01:58 pegasus timsieved[2120]: badlogin: localhost[127.0.0.1] PLAIN authentication failure
[/b][/color]


[i] cat /var/log/messages | grep cyrus [/i]

[b]
Nov 21 10:01:56 pegasus master[2120]: about to exec /usr/lib/cyrus/bin/timsieved
Nov 21 10:01:58 pegasus PAM-warn[1989]: function=[pam_sm_authenticate] service=[sieve] terminal=[<unknown>] user=[cyrus] ruser=[<unknown>] rhost=[<unknown>]
Nov 21 10:01:58 pegasus saslauthd[1989]: do_auth : auth failure: [user=cyrus] [service=sieve] [realm=] [mech=pam] [reason=PAM auth error]
[/b]

Habe allersdings auch schon versucht, mittels dem SASLAUTHD und SHADOW eine authentifizierung zu bekommen, aber jede nur denkbare konstellation schlug fehl.

Ich hoffe mal nciht, dass ein Paket zum installieren vergessen wurde, jedenfalls kann ich es mir nciht vorstellen, welches, weil ich wirklich einfach alles, wie oben schon erwähnt, dann präventiv mal installiert habe.

Außer, den Dienst IMAP, diesen habe ich nciht darauf, wolllte ncihtz, dass sich zwei IMAP-Services überschneiden. Also, es läuft def. NUR CYRUS, und kein anderer MTA, etc. !!!


Mal einen Auszug der installierten Pakete, welche meines Erachtens nach INstalliert werden mussten.

[b]
Name Verfgb. Vers.Inst. Vers. Zusammenfassung

cyrus-imapd 2.1.15 2.1.15 An IMAP/POP Mailserver

cyrus-imapd-devel 2.1.15 2.1.15 Libraries and includes for cyrus imapxx

cyrus-sasl 2.1.15 2.1.15 Cyrus SASL API Implementation

cyrus-sasl-crammd5 2.1.15 2.1.15 Cyrus SASL API Implementation

cyrus-sasl-devel 2.1.15 2.1.15 Cyrus SASL API implmentation, Librari

cyrus-sasl-digestmd5 2.1.15 2.1.15 Cyrus SASL API Implementation

cyrus-sasl-gssapi 2.1.15 2.1.15 Cyrus SASL API Implementation

cyrus-sasl-otp 2.1.15 2.1.15 Cyrus SASL API Implementation

cyrus-sasl-plain 2.1.15 2.1.15 Cyrus SASL API Implementation

perl-Cyrus-IMAP 2.1.15 2.1.15 IMAP perl module from cyrus

perl-Cyrus-SIEVE-managesieve 2.1.15 2.1.15 perl modul for cyrus SIEVE

perl-Authen-SASL 2.04 2.04 SASL Authentication framework

perl-Compress-Zlib 1.16 1.16 Perl interface to part of the info

perl-Cyrus-IMAP 2.1.15 2.1.15 IMAP perl module from cyrus

perl-Cyrus-SIEVE-managesieve 2.1.15 2.1.15 perl modul for cyrus SIEVE

perl-DBI 1.37 1.37 Das Perl Database Interface[/b]
 

stka

Guru
existieren dein Benutzer in der passwd? Da PAM mault soltest du mal deine Benutzer in der passwd anlagen, da pam dort nach dem Benutzer test sucht.
Das kann ich nicht ausprobieren, da bei mir die Benutzer im LDAP liegen.
 
OP
M

Magu81

Newbie
Servus Stka,

klar, jedenfalls der Systemuser ,,cyrus", unter welchem der Dienst auch läuft, dieser ist, da er ja Systemuser ist, unter der passwd, also wird mittels SHADOW authorisiert.

Der USER ,,test", welchen ich nun extra nochmals unter CYRUS, also cyradm angelegt habe, POSTFACH user.test, dieser ist nur unter Cyrus vertreten. Also werder Systemuser, noch einen Eintrag in der passwd.

Oder sollte ich den Postfach-User auch extra noch als Systemuser anlegen!?

Verstehe halt den Sinn nicht, denn zumal der CYRUS-Service auch unter dem Sysuser ,,cyrus" läuft, dann müsste ja von der plausibilität her, eine authentifizierung mittels Shadow oder aber auch pam, über SIEVESHELL mit dem SYSUSER ,,cyrus" auch gelingen, oder etwa nciht !?
 

stka

Guru
Doch da der cyrus auf pam zugreift müssen die Benutzer in der passwd existieren. Das sagen dir ja auch deine Fehlermeldungen.
Hier eine Auszug aus der Datei /etc/sysconfig/saslauthd
## Type: list(getpwent,kerberos5,pam,rimap,shadow,ldap)
Über eine dieser Möglichkeiten muss der Benutzer gefunden werden. Bei mir ist das LDAP, bei dir ist das die passwd, die Benutzer der passwd werde über pam verwaltet. Da du den Benutzer aber nicht in der passwd hast, kann der Benutzer auch über pam nicht gefunden werden.
Der Benutzer cyrus ist ein Systembenutzer, der kann auch bei mir nicht auf die sieveskripte zu greifen.

Noch eins, bitte ändere deine Avatar, es gibt immer wieder Ärger mit Bildern von Personen, es sei denn du bist das selber ;-). (Recht am eigenen Bild)
 
OP
M

Magu81

Newbie
Servus zunächst einmal !

Klar, plausibel ist es dass der USER ,,test" in der passwd aufgeführt sein muss, wenn pam über shadow authentifiziert.

NUr leider funktioniert es auch damit nicht. Bekomme jedenfalls noch immer die selbe Fehlermeldung.

Denke eher dass es mit dem Perlmodul zusammenhängt, allerdings habe ich auch das schon neu installiert, das Modul als auch den Interpreter, jedoch ohne Erfolg.

Pass mal auf, der User ,,test", spielt doch normal weniger eine Rolle, welcher Gruppe er zugeodnet ist, oder, jedenfalls habe ich ihn mal der Gruppe ,,mail" zugeordnet.

Aber muss nun doch gleich mal schauen, was passiert, wenn ich ihn der Gruppe ,,users" zuordne.

Wenn es dann noch immer nicht geht, dann muss einfach mal der komplette Cyrus samt alle anderen Pakete neu installiert werden, ggf. mal eine andere Version von Suse oder gar andere Distribution.

Das Problem beim 9.0 Suse, welches ich meines Erachtens nach als das stabilste SUse betrachte, ist, dass ich absolut keine Updatres mehr bekomme, seitdem SUSE unter der Fuchtel von Novell steht :-( .
 

stka

Guru
suse 9.0 und 9.1 wird seit dem Sommer nihct mehr supportet. Der Supportzeitraum ist abgelaufen! Das hat nichts mit Novell zu tun.
 
OP
M

Magu81

Newbie
Die FRage, StKa, ist doch nun vielmehr, ob ich nicht mal eine Authentifizierung über einen LDAP versuchen soll, wobei, dass wenn es ein fundamentales PRoblem des CYRUS ist, eine Anmeldung über LDAP demnach auch scheitern müsste.

Weisst Du, wenn ich nur annähernd wüsste, woran das Problem nun endlich festzumachen ist, dann wäre eine Problemlösung auch nciht der Redewert. Aber solange ich nciht mal ansätze hab, warum und wieso, so scheint es mir vorerst unlösbar.

Was würdest Du mir vorschlagen, sofern ich nciht auf was anderes als CYRUS, ausweichen möchte !?
 

Frankie777

Advanced Hacker
Bei 9.3. und 10.1 läuft das Paket Fetchmail, Postfix, amavis-new und Cyrus

Warum es bei 9.0 nicht läuft, ob es nur bei Dir nicht läuft oder ob es generell nicht läuft ist auch nur historisch interessant.
 
Status
Für weitere Antworten geschlossen.
Oben