Map realm to user

Dan White dwhite at olp.net
Wed Jan 11 12:27:37 EST 2012


On 01/11/12 15:32 +0000, Pedro Silva wrote:
>Thanks for the suggestion.
>I tried what you said bust the result was the same...
>
>Here is what my logfile looks like using a webmail imap client
>When I authenticate with 'user:pass'
>
>cyrus/imap[24503]: accepted connection
>cyrus/imap[24503]: login: servername [x.x.x.x] 'user' plaintext User
>logged in
>cyrus/imap[24503]: open: user 'user' opened INBOX
>
>now when I use 'user at domain:pass'
>
>cyrus/imap[24572]: accepted connection
>cyrus/imap[24572]: login: servername [x.x.x.x] 'user at domain' plaintext
>User logged in
>
>but no inbox is opened and no error is reported.
>
>Here's my imapd.conf configuration
>
>##########################
>lmtp_overquota_perm_failure: yes
>configdirectory: /var/lib/cyrus
>defaultpartition: default
>partition-default: /var/spool/cyrus/mail
>partition-news: /var/spool/cyrus/news
>newsspool: /var/spool/news
>duplicatesuppression: 0
>altnamespace: no
>unixhierarchysep: no
>lmtp_downcase_rcpt: yes
>admins: cyrus
>allowanonymouslogin: no
>autocreatequota: 0
>umask: 077
>sieveusehomedir: false
>sievedir: /var/spool/sieve
>hashimapspool: true
>allowplaintext: yes
>sasl_mech_list: PLAIN
>allowapop: no
>sasl_minimum_layer: 0
>servername: exemple.com
>loginrealms: exemple.com
>sasl_pwcheck_method: auxprop saslauthd
>sasl_auto_transition: no
>tls_cert_file: /etc/ssl/multicert.pem
>tls_key_file: /etc/ssl/private/multicert.key
>tls_ca_path: /etc/ssl/certs
>tls_session_timeout: 1440
>tls_cipher_list: TLSv1+HIGH:!aNULL:@STRENGTH
>lmtpsocket: /var/run/cyrus/socket/lmtp
>idlemethod: poll
>idlesocket: /var/run/cyrus/socket/idle
>notifysocket: /var/run/cyrus/socket/notify
>syslog_prefix: cyrus
>#######################################

Assuming that you only have one domain that you want to be treated the same
as a local user login, try adding:

virtdomains: userid
defaultdomain: domain.com

See:

http://www.cyrusimap.org/docs/cyrus-imapd/2.4.13/install-virtdomains.php

~$ grep domain /etc/imapd.conf | grep -v '^#'
virtdomains: userid
defaultdomain: example.org

Example:

~$ cyradm --user=dwhite localhost
Password: 
localhost> lm
INBOX (\HasNoChildren)  
localhost> quit

~$ cyradm --user=dwhite at example.org localhost
Password: 
localhost> lm
INBOX (\HasNoChildren)  
localhost> quit

>On 10-01-2012 17:58, Andrew Morgan wrote:
>> On Tue, 10 Jan 2012, Pedro Silva wrote:
>>
>>> Hi,
>>> I have a postfix/cyrus/sasl mail server authenticating against an ldap
>>> server.
>>>
>>> It all works fine using a 'login:password' authentication but I would
>>> also like to user 'login at realm:password' authentication for the mail
>>> accounts (imap and pop3).
>>>
>>> The authentication bit work fine when I use 'login at realm' (in imap) but
>>> no mailbox is opened...
>>> Well my question is: is it possible to map 'login' and 'login at realm' to
>>> the same mailbox? and if so how can I do that?
>>
>> Assuming you are not using virtual domains in Cyrus, the "servername"
>> setting in imapd.conf is used as the realm when no realm is given
>> (using 'login').  If you set servername to the realm you want to use,
>> then 'login' and 'login at realm' should be the same for Cyrus.
>>
>>     Andy

-- 
Dan White


More information about the Info-cyrus mailing list