ExtMail服务器社区's Archiver

liushaobo 发表于 2009-3-10 10:36

maildrop: Unable to open mailbox

请教:
新做的一个环境:OS5、courier-authlib-0.62.2、maildrop-2.0.4、extmail1.07、extman1.0、LDAP;和以前的OS4上的文件比较过,好像authldaprc文件也没错呀
# authtest -s login [email=postmaster@extmail.org]postmaster@extmail.org[/email] extmail[quote]Authentication succeeded.

     Authenticated: [email=postmaster@extmail.org]postmaster@extmail.org[/email]  (uid 1000, gid 1000)
    Home Directory: /home/domains/extmail.org/postmaster
           [color=red]Maildir: extmail.org/postmaster/Maildir/[/color]
             Quota: (none)
Encrypted Password: {CRYPT}$1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0
Cleartext Password: extmail
           Options: disablesmtpd=0,disablesmtp=0,disablewebmail=0,disablenetdisk=0,disableimap=0,disablepop3=0
[/quote]
# echo "test" | maildrop -V 10 -d [email=test@extmail.org]test@extmail.org[/email]
[quote]
maildrop: authlib: groupid=1000
maildrop: authlib: userid=1000
maildrop: authlib: logname=test@extmail.org, home=/home/domains/extmail.org/test, mail=extmail.org/test/Maildir/
maildrop: Changing to /home/domains/extmail.org/test
Message start at 0 bytes, envelope sender=test@extmail.org
Tokenized logfile
Tokenized string: "/var/log/maildrop.log"
Tokenized ;
Tokenized eof
/etc/maildroprc(1): Opening logfile /var/log/maildrop.log
maildrop: Attempting .mailfilter
maildrop: Delivering to extmail.org/test/Maildir/
maildrop: Unable to open mailbox.[/quote]
mail日志:maildir要是正常应当为[color=red]maildir==/home/domains/extmail.org/test/Maildir/[/color]
[quote]Mar 10 10:23:47 mail authdaemond: received userid lookup request: [email=test@extmail.org]test@extmail.org[/email]
Mar 10 10:23:47 mail authdaemond: authldap: trying this module
Mar 10 10:23:47 mail authdaemond: using search filter: (&(&(objectClass=extmailUser)(active=1))(mail=test@extmail.org))
Mar 10 10:23:47 mail authdaemond: one entry returned, DN: mail=test@extmail.org,virtualDomain=extmail.org,o=extmailAccount,dc=extmail,dc=org
Mar 10 10:23:47 mail authdaemond: raw ldap entry returned:
Mar 10 10:23:47 mail authdaemond: | mail: [email=test@extmail.org]test@extmail.org[/email]
Mar 10 10:23:47 mail authdaemond: | cn: test
Mar 10 10:23:47 mail authdaemond: | uidNumber: 1000
Mar 10 10:23:47 mail authdaemond: | gidNumber: 1000
Mar 10 10:23:47 mail authdaemond: | mailQuota: 5242880S
Mar 10 10:23:47 mail authdaemond: | userPassword: $1$62GLWR6D$pC4XWEcQmceGMHLvZbfeP/
Mar 10 10:23:47 mail authdaemond: | mailMessageStore: extmail.org/test/Maildir/
Mar 10 10:23:47 mail authdaemond: | homeDirectory: extmail.org/test
Mar 10 10:23:47 mail maildrop[23590]: Unable to open mailbox.
Mar 10 10:23:47 mail authdaemond: | disablesmtpd: 0
Mar 10 10:23:47 mail authdaemond: | disablesmtp: 0
Mar 10 10:23:47 mail authdaemond: | disablewebmail: 0
Mar 10 10:23:47 mail authdaemond: | disablenetdisk: 0
Mar 10 10:23:47 mail authdaemond: | disableimap: 1
Mar 10 10:23:47 mail authdaemond: | disablepop3: 0
Mar 10 10:23:47 mail authdaemond: authldaplib: sysusername=<null>, sysuserid=1000, sysgroupid=1000, homedir=/home/domains/extmail.org/test, address=test@extmail.org, fullname=test, [color=red]maildir=extmail.org/test/Maildir/[/color], quota=<null>, options=disablesmtpd=0,disablesmtp=0,disablewebmail=0,disablenetdisk=0,disableimap=1,disablepop3=0
Mar 10 10:23:47 mail authdaemond: authldaplib: clearpasswd=<null>, passwd=$1$62GLWR6D$pC4XWEcQmceGMHLvZbfeP/
Mar 10 10:23:47 mail authdaemond: Authenticated: sysusername=<null>, sysuserid=1000, sysgroupid=1000, homedir=/home/domains/extmail.org/test, address=test@extmail.org, fullname=test, [color=red]maildir=extmail.org/test/Maildir/[/color], quota=<null>, options=disablesmtpd=0,disablesmtp=0,disablewebmail=0,disablenetdisk=0,disableimap=1,disablepop3=0
Mar 10 10:23:47 mail authdaemond: Authenticated: clearpasswd=<null>, passwd=$1$62GLWR6D$pC4XWEcQmceGMHLvZbfeP/[/quote]
ldap日志:
[quote]Mar 10 11:30:48 mail slapd[19846]: conn=0 fd=12 ACCEPT from IP=127.0.0.1:3194 (IP=0.0.0.0:389)
Mar 10 11:30:48 mail slapd[19846]: conn=0 op=0 BIND dn="cn=Manager,dc=extmail,dc=org" method=128
Mar 10 11:30:48 mail slapd[19846]: conn=0 op=0 BIND dn="cn=Manager,dc=extmail,dc=org" mech=SIMPLE ssf=0
Mar 10 11:30:48 mail slapd[19846]: conn=0 op=0 RESULT tag=97 err=0 text=
Mar 10 11:30:48 mail slapd[19846]: conn=0 op=1 SRCH base="o=extmailAccount,dc=extmail,dc=org" scope=2 deref=0 filter="(&(&(objectClass=extmailUser)(active=1))(mail=test@extmail.org))"
Mar 10 11:30:48 mail slapd[19846]: conn=0 op=1 SRCH attr=homeDirectory mailMessageStore cn clearPassword userPassword uidNumber gidNumber mail quota disablesmtpd disablesmtp disablewebmail disablenetdisk disableimap disablepop3
Mar 10 11:30:48 mail slapd[19846]: <= bdb_equality_candidates: (active) index_param failed (18)
Mar 10 11:30:48 mail slapd[19846]: conn=0 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text= [/quote]
相关文件权限:
[quote]drwx------  3 vuser vgroup 4096 Mar 10 09:45 domains

drwx------ 4 vuser vgroup 4096 Mar 10 10:16 extmail.org

drwx------ 3 vuser vgroup 4096 Mar 10 09:56 test

drwxr-xr-x  2 daemon daemon 4096 Mar 10 11:29 authdaemon[/quote]
authldaprc文件:
[quote]LDAP_URI                ldap://127.0.0.1:389
LDAP_PROTOCOL_VERSION   3
LDAP_BASEDN             o=extmailAccount,dc=extmail,dc=org
LDAP_BINDDN             cn=Manager,dc=extmail,dc=org
LDAP_BINDPW             secret
LDAP_TIMEOUT            5
LDAP_MAIL               mail
LDAP_FILTER           (&(objectClass=extmailUser)(active=1))
LDAP_DOMAIN             extmail.org
LDAP_HOMEDIR            homeDirectory
LDAP_MAILROOT        /home/domains
LDAP_MAILDIR            mailmessageStore
LDAP_DEFAULTDELIVERY    defaultDelivery
LDAP_MAILDIRQUOTA       quota
LDAP_CLEARPW            clearPassword
LDAP_CRYPTPW            userPassword
LDAP_UID                uidNumber
LDAP_GID                gidNumber
LDAP_AUXOPTIONS         disablesmtpd=disablesmtpd,disablesmtp=disablesmtp,disablewebmail=disablewebmail,disablenetdisk=disablenetdisk,disableimap=disableimap,disablepop3=disablepop3
LDAP_DEREF              never
LDAP_TLS                0[/quote]
authdaemonrc文件:
[quote]authmodulelist="authldap"
authmodulelistorig="authldap"
daemons=10
authdaemonvar=/var/spool/authdaemon
DEBUG_LOGIN=2
DEFAULTOPTIONS=""
LOGGEROPTS=""[/quote]
authdaemon权限,路径没错
[quote]drwxr-xr-x  2 daemon daemon 4096 Mar 10 10:19 authdaemon
[/quote]
master.cf文件:
[quote]maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vuser argv=maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop}[/quote]

[[i] 本帖最后由 liushaobo 于 2009-3-10 13:44 编辑 [/i]]

liushaobo 发表于 2009-3-10 11:02

LDAP环境,在后台修改[email=root@extmail.org]root@extmail.org[/email]的密码出现
[quote]
修改 [email]root@extmail.org[/email] 失败, 原因: modify/add operation requires values
[/quote]
这里怎么还要值?

[[i] 本帖最后由 liushaobo 于 2009-3-10 11:06 编辑 [/i]]

hzqbbc 发表于 2009-3-10 14:18

Maildir: extmail.org/postmaster/Maildir/

这个内容明显不对,应该要有/home/domains前缀,否则maildrop只看到相对路径,自然投递不了。。另外authlib是在centos5上编译的吗?

liushaobo 发表于 2009-3-10 15:06

是的,我也知道路径不对,现在就是找不到哪里出错,配置文件和权限也查了;
rpmbuild -ba /usr/src/redhat/SPEC/courier-authlib.spec

liushaobo 发表于 2009-3-10 16:22

比较了 extman0.25和1.0的 ldif文件,结构也没变,难到和authlib、maildrop的编译有关?
请老大指点一下

hzqbbc 发表于 2009-3-10 16:49

我想起问题了。哈哈。楼主要给courier-authlib打补丁。
补丁在extman/contrib/里。叫courier-authlib-ldap.patch

打了此补丁才能用maildir的相对路径。过去都是绝对路径才能使的。

liushaobo 发表于 2009-3-10 22:05

先在这里谢谢老大,今天在外面,明天去看一下

liushaobo 发表于 2009-3-11 16:09

[quote]patch for courier-authlib (0.5*) [/quote]
请问老大,是不是只能用在0.5*的版本?
在0.60上用这个补丁的话,是不是在 courier-authlib-ldap.patch 改一下这里就行了?
[quote]@@ -[color=Red]1468[/color],6 +[color=Red]1468[/color],28 @@
[/quote]

[[i] 本帖最后由 liushaobo 于 2009-3-11 20:43 编辑 [/i]]

liushaobo 发表于 2009-3-11 19:23

回复 6# hzqbbc 的帖子

老大,打了补丁还是出现
# echo "test" | maildrop -V 10 -d [email]postmaster@extmail.org[/email]
[quote]maildrop: authlib: groupid=1000
maildrop: authlib: userid=1000
maildrop: authlib: logname=postmaster@extmail.org, home=/home/domains/extmail.org/postmaster, [color=Red]mail=extmail.org/postmaster/Maildir/[/color]
maildrop: Changing to /home/domains/extmail.org/postmaster
Message start at 0 bytes, envelope sender=postmaster@extmail.org
maildrop: Attempting .mailfilter
maildrop: Delivering to extmail.org/postmaster/Maildir/
[color=Red]maildrop: Unable to open mailbox[/color].[/quote]
打补丁步骤:
[quote][root@mail courier-authlib-0.57]# pwd
/usr/src/redhat/SOURCES/courier-authlib-0.57

[root@mail courier-authlib-0.57]# patch -p0 < courier-authlib-ldap.patch
patching file authldaplib.c

[root@mail courier-authlib-0.57]# rpmbuild -ba /usr/src/redhat/SPEC/courier-authlib.spec[/quote]

[[i] 本帖最后由 liushaobo 于 2009-3-11 19:25 编辑 [/i]]

hzqbbc 发表于 2009-3-11 23:10

不会的啦。你看重装后是否重启动了authlib?authtest -s login [email]postmaster@extmail.org[/email] 的结果呢?EMOS里的ldap支持就是用这个补丁的。

liushaobo 发表于 2009-3-12 11:20

# authtest -s login [email]postmaster@extmail.org[/email]
[quote]Authentication succeeded.

     Authenticated: [email]postmaster@extmail.org[/email]  (uid 1000, gid 1000)
    Home Directory: /home/domains/extmail.org/postmaster
           Maildir: [color=Red]extmail.org/postmaster/Maildir/[/color]
             Quota: (none)
Encrypted Password: {CRYPT}$1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0
Cleartext Password: (none)
           Options: disablesmtpd=0,disablesmtp=0,disablewebmail=0,disablenetdisk=0,disableimap=0,disablepop3=0[/quote]
路径还是不对,看来是人品有问题了 :lol
敢问老大,在 rpmbuild  -bb maildrop 时除了增加authlib的支持,有没有加vuser/vgroup,或uidnumber/gidnumber的参数

[[i] 本帖最后由 liushaobo 于 2009-3-12 11:43 编辑 [/i]]

hzqbbc 发表于 2009-3-12 13:57

和maildrop无关的.这个应该还是authlib的问题. 应该是补丁没打好吧.要不怎可能maildir还是相对路径呢.:Q

liushaobo 发表于 2009-3-12 14:16

authldaplib.c文件,我和没打补丁前的文件比较了一下,这是增加的
[quote]                        homeDir=new_mailroot;
[color=Red]                }
        }

        /* patch to make relative mailDir works fine
         * patch date: 2005-11-25
         * patched by He zhiqiang <[email]hzqbbc@hzqbbc.com[/email]> */
        if (mailDir !=0 && my_ldap.mailroot != 0 && *my_ldap.mailroot)
        {
                char *new_mailroot=malloc(strlen(mailDir)+
                                          strlen(my_ldap.mailroot)+2);

                if (!new_mailroot)
                {
                        perror("CRIT: authldap: malloc failed");
                        rc= -1;
                }
                else
                {
                        strcat(strcat(strcpy(new_mailroot, my_ldap.mailroot),
                                      "/"), mailDir);
                        free(mailDir);
                        mailDir=new_mailroot;
                }
        }[/color]

        j=1;[/quote]
另外找了一台VM试了一下,还是这个问题 :(

[[i] 本帖最后由 liushaobo 于 2009-3-12 15:02 编辑 [/i]]

liushaobo 发表于 2009-3-12 16:22

后来没用使用 rpmbuild 了,用 configure 编译通过认证了,可能用rpmbuild 还要修改 .spec 文件吧!:handshake
多谢老大指点 :handshake

sailing123 发表于 2009-3-13 11:28

我的是使用源码一个个编译的, 貌似这个问题是 /etc/maildroprc 文件内容错误造成的

sailing123 发表于 2009-3-13 11:29

[quote]原帖由 [i]liushaobo[/i] 于 2009-3-10 11:02 发表 [url=http://www.extmail.org/forum/redirect.php?goto=findpost&pid=55771&ptid=10011][img]http://www.extmail.org/forum/images/common/back.gif[/img][/url]
LDAP环境,在后台修改[email]root@extmail.org[/email]的密码出现

这里怎么还要值? [/quote]

有些内容没有填上去, 管理域那里.

lootan 发表于 2009-4-18 17:33

[quote]原帖由 [i]liushaobo[/i] 于 2009-3-11 19:23 发表 [url=http://www.extmail.org/forum/redirect.php?goto=findpost&pid=55895&ptid=10011][img]http://www.extmail.org/forum/images/common/back.gif[/img][/url]
[root@mail courier-authlib-0.57]# pwd
/usr/src/redhat/SOURCES/courier-authlib-0.57

[root@mail courier-authlib-0.57]# patch -p0 < courier-authlib-ldap.patch
patching file authldaplib.c

[root@mail courier-authlib-0.57]# rpmbuild -ba /usr/src/redhat/SPEC/courier-authlib.spec
[/quote]
你虽然打好了补丁,可是  rpmbuild -ba 不会去寻找  /usr/src/redhat/SOURCES/courier-authlib-0.57 目录下面的文件的。
它解压源代码( courier-authlib-0.57.tar.bz2|gz)在 /usr/src/redhat/BUILD目录下,进行 patch、configure、make 等动作。 :lol :lol  ,所以你后来[quote]原帖由 [i]liushaobo[/i] 于 2009-3-12 16:22 发表 [url=http://www.extmail.org/forum/redirect.php?goto=findpost&pid=55944&ptid=10011][img]http://www.extmail.org/forum/images/common/back.gif[/img][/url]
后来没用使用 rpmbuild 了,用 configure 编译通过认证了,可能用rpmbuild 还要修改 .spec 文件吧!:handshake
多谢老大指点 :handshake [/quote]
就成功了啦!

liushaobo 发表于 2009-4-18 17:37

:lol   :handshake   明白兄弟的意思了

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.