ExtMail服务器社区's Archiver

extmail 发表于 2006-1-27 09:02

Postfix + Maildrop + ExtMail 实现过滤/自动回复/转发等

最近发布的ExtMail 测试版已包含了对maildrop较完整的支持,并支持了自动回复等高级功能。

为此,现推出一个简单的小HOWTO以指引extmail新老用户如何安装,配置maildrop使之能

正确工作,实现过滤、自动回复等高级特性。


[b]1)基本介绍[/b]

这里介绍一下整体的存储及过滤体系,从安全角度考虑,专门用一个系统用户帐户来进行邮件

存储和投递,例如新开一个uid=1000/gid=1000的叫vuser的用户来做邮件存储和投递。

其次,邮件统一存放在一个大目录里,例如/home/domains,每个域名都存放在这个大目录

之下,例如有一个用户叫[email]test@extmail.org[/email],则其邮件存储目录为:

home路径: /home/domains/extmail.org/test
Maildir路径: /home/domains/extmail.org/test/Maildir/

属性:/home/domains及其下面的子目录全部都为700属性,并只属于vuser用户,vgroup
用户组,(这样仅对vuser/vgroup可读写,其他用户均不可见,不可写,提高了安全性,一般
进程看不到邮件内容)

[b]注意:[/b]

Extman管理工具默认是以/home/domains作为基础目录,extmail也同样以/home/domains

作为基础目录的。

[b]2)安装、配置maildrop[/b]

由于maildrop 自courier-authlib发行后,就不再使用内建的数据库连接模块,而是通过authlib
来获得用户的各种信息,因此在安装maildrop前必须正确安装courier-authlib并配置好。

如果是redhat/debian等linux操作系统,下载最新maildrop软件包,里面有相应的rpm制作
文件(maildrop.spec)。可参考rpm.org的帮助制作rpm。或者参考本站postfix版块里wmd
的文档。

[color=red][b]注意:[/b]maildrop.spec或相关spec里,注意看编译指令是否有--disable-authlib,如果有则
表明禁止了authlib支持!必须去掉,改为--enable-authlib[/color]

如果是FreeBSD类系统,则直接到/usr/ports里找到maildrop的ports,例如:
cd /usr/ports/mail/maildrop

[color=red][b]注意:[/b][/color] [b]2006-02-01修正FreeBSD安装时,没提醒增加WITH_AUTHLIB=yes,导致部分版本ports编译安装的maildrop没增加authlib支持,老出现:[/b]

Invalid user specified 错误。

打开Makefile,确保屏蔽掉:
[quote]
MAILDROP_SUID=1001
MAILDROP_SGID=1003
...
MAILDROP_TRUSTED_USERS=vmail
[/quote]

即:
[quote]
#MAILDROP_SUID=1001
#MAILDROP_SGID=1003
...
#MAILDROP_TRUSTED_USERS=vmail
[/quote]

然后输入:

[quote]
make WITH_AUTHLIB=yes
[/quote]

此时会跳出对话框选择支持数据库类型,此对话框实际就是courier-authlib的。选择你需要支持
的数据库类型,例如mysql或 ldap等。然后直接选OK保存,就会自动make了。

给出一个authmysqlrc的配置内容,仅供参考:

[quote]
MYSQL_SERVER            localhost
MYSQL_USERNAME          extmail
MYSQL_PASSWORD          extmail
MYSQL_SOCKET            /var/lib/mysql/mysql.sock
MYSQL_PORT              3306
MYSQL_OPT               0
MYSQL_DATABASE          extmail
MYSQL_USER_TABLE        mailbox
MYSQL_CRYPT_PWFIELD     password
MYSQL_UID_FIELD         uidnumber
MYSQL_GID_FIELD         gidnumber
MYSQL_LOGIN_FIELD       username
MYSQL_HOME_FIELD        homedir
MYSQL_NAME_FIELD        name
MYSQL_MAILDIR_FIELD     maildir
MYSQL_QUOTA_FIELD       quota
MYSQL_SELECT_CLAUSE     SELECT username,password,"",uidnumber,gidnumber,\
             CONCAT('/home/domains/',homedir),               \
             CONCAT('/home/domains/',maildir),               \
             quota,                                          \
             name                                            \
             FROM mailbox                                    \
             WHERE username = '$(local_part)@$(domain)'
[/quote]

[b]3)配置postfix[/b]

编辑main.cf,增加:
virtual_transport = maildrop:
maildrop_destination_recipient_limit = 1

记得是maildrop:(有个冒号)

其次编辑master.cf,找到定义maildrop的那行,原来默认的内容:
[quote]
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
[/quote]

改为:
[quote]
maildrop  unix  -       n       n       -       -       pipe
   flags=DRhu user=vuser argv=maildrop -w 90 -d ${recipient}
[/quote]

保存好配置

[b]4)增加投递用户[/b]

很多邮件系统文档都使用postfix这个用户(一般是uid=125)作为邮件存储,在使用
系统的virtual等投递时不存在问题,如果是改为maildrop则postfix会报错。不允许
通过pipe来以user=postfix来投递。

因此从长远角度考虑(参见1),专门开一个帐户来保存邮件比较好。这里:

groupadd -r -g 1000 vgroup
useradd -u 1000 -d /home/domains -s /bin/true -g vgroup vuser

这样就增加了一个uid=1000, gid=1000的用户vuser,组属于vgroup的。

以后如果要使用suexec也不会因为uid太低而造成问题了!

保存好所有修改,重新启动postfix

[b]5)配置extmail[/b]

修改webmail.cf,将 SYS_MFILTER_ON = 1即可。然后就可以开始测试。

[b]6)调试[/b]

如果遇到maildrop报错,提示Invalid user *** 的,打开authdaeonrc里的DEBUG_LOGIN=2

然后重启动authdaemon,看看:

/var/log/message或/var/log/maillog里具体的情况(就是在投递出错时看) ,适合Linux系统

/var/log/debug* 或/var/log/maillog,适合BSD系统。

wan8832 发表于 2006-1-27 10:19

好,正等在这个呢?强烈支持!

olylinux 发表于 2006-1-27 19:51

我简直要流泪了,555555555555555555555555555555555/感激的不知道如何表达,
说句:大大,i love ...........................you 嘎嘎

ebiscuit 发表于 2006-1-29 00:36

相见恨晚啊!!!

linuxunix1 发表于 2006-1-29 13:41

大大,我咋的就按照你的法子搞不定呢? 我按照你的法子后都收不到邮件,提示是发送出去了的.纳闷?

extmail 发表于 2006-1-29 19:56

[quote][b]下面是引用linuxunix1于2006-01-29 13:41发表的:[/b]
大大,我咋的就按照你的法子搞不定呢? 我按照你的法子后都收不到邮件,提示是发送出去了的.纳闷?[/quote]

master.cf里定义的maildrop指令,加一个-V 10看看debug信息。

例如:

[quote]
maildrop unix -     n     n     -     -     pipe
     flags=DRhu user=vmail argv=maildrop -V 10 -d ${recipient}
[/quote]

另外,命令行下测试:

echo "test" | maildrop -V 10 -d [email]test@localdomain.tld[/email]

看看[email]test@localdomain.tld[/email] 的$HOME/Maildir下new里有无邮件,看看maildrop

的报错信息。

linuxunix1 发表于 2006-1-30 13:14

Jan 30 13:13:41 mail postfix/qmgr[4438]: 09E9724203: from=<>, size=2709, nrcpt=1 (queue active)
Jan 30 13:13:41 mail postfix/qmgr[4438]: D142224208: removed
Jan 30 13:13:41 mail pipe[5346]: fatal: pipe_comand: execvp maildrop: No such file or directory
Jan 30 13:13:42 mail postfix/pipe[5197]: 09E9724203: to=<[email]haohao@haohao.cn[/email]>, relay=maildrop, delay=1, status=bounced (Command died with status 1: "maildrop")
Jan 30 13:13:42 mail postfix/qmgr[4438]: 09E9724203: removed

大大,这是我按照你的要求又修改的,已经打开authdaeonrc里的DEBUG_LOGIN=2,上面一段是"/var/log/maillog"的一段记录, 看不明白是啥意思. 什么maildrop管道.麻烦大大指点.

extmail 发表于 2006-1-30 18:38

[quote][b]下面是引用linuxunix1于2006-01-30 13:14发表的:[/b]
Jan 30 13:13:41 mail postfix/qmgr[4438]: 09E9724203: from=<>, size=2709, nrcpt=1 (queue active)
Jan 30 13:13:41 mail postfix/qmgr[4438]: D142224208: removed
Jan 30 13:13:41 mail pipe[5346]: fatal: pipe_comand: execvp maildrop: No such file or directory
Jan 30 13:13:42 mail postfix/pipe[5197]: 09E9724203: to=<[email]haohao@haohao.cn[/email]>, relay=maildrop, delay=1, status=bounced (Command died with status 1: "maildrop")
Jan 30 13:13:42 mail postfix/qmgr[4438]: 09E9724203: removed
.......[/quote]

呵呵,注意这个错误:
[quote]
Jan 30 13:13:41 mail pipe[5346]: fatal: pipe_comand: execvp [color=red]maildrop: No such file or directory[/color]
[/quote]

就是说maildrop程序不在搜索路径,楼主确认maildrop命令在/usr/sbin或/usr/bin及/bin里,如果没有,则做一个链接或者重新安装即可。或者直接输入全路径,假设路径为:/usr/local/bin/maildroip,则修改master.cf里的maildrop定义为:

[quote]
maildrop unix -    n    n    -    -    pipe    flags=DRhu user=vmail
      argv=/usr/local/bin/maildrop -V 10 -d ${recipient}
[/quote]

另外,之前回复您的帖子时我已经写成了全路径形式,抱歉哦!

linuxunix1 发表于 2006-1-30 21:07

大大.谢谢你回复我的帖子.那个maildrop路径我写成绝对的就不再提示我找不到文件了.现在的"/var/log/maillog"的错误是这样的:
Jan 30 20:42:54 mail MailScanner[3644]: Virus and Content Scanning: Starting
Jan 30 20:42:54 mail MailScanner[3644]: Requeue: A3A8324204.B32BB to 6E62C2420B
Jan 30 20:42:54 mail MailScanner[3644]: Uninfected: Delivered 1 messages
Jan 30 20:42:54 mail postfix/qmgr[4010]: 6E62C2420B: from=<[email]mmmmm@yyyy.cn[/email]>, size=1019, nrcpt=1 (queue active)
Jan 30 20:42:54 mail postfix/pipe[4065]: 6E62C2420B: to=<[email]yyy@yyyy.cn[/email]>, relay=maildrop, delay=1, status=bounced (user unknown. Command output: Invalid user specified. )
Jan 30 20:42:54 mail postfix/cleanup[4055]: 8DC3D24204: message-id=<[email]20060130124254.8DC3D24204@mail.yyyy.cn[/email]>
Jan 30 20:42:54 mail postfix/qmgr[4010]: 8DC3D24204: from=<>, size=2746, nrcpt=1 (queue active)
Jan 30 20:42:54 mail postfix/qmgr[4010]: 6E62C2420B: removed
Jan 30 20:42:54 mail postfix/pipe[4065]: 8DC3D24204: to=<[email]mmmmm@yyyy.cn[/email]>, relay=maildrop, delay=0, status=bounced (user unknown. Command output: Invalid user specified. )
Jan 30 20:42:54 mail postfix/qmgr[4010]: 8DC3D24204: removed

已经打开authdaeonrc里的DEBUG_LOGIN=2,我也是建立的"vuser"用户,都是完全找抄大大你的.呵呵,这里提示"user unknown. Command output: Invalid user specified",是说maiodrop找不到[email]mmmmm@yyyy.cn[/email]这个用户,在我不设置maildrop的时候就可以正常发送接受该用户的邮件.不知道maildrp具体和哪几个文件设置有关系.咋就是maildrop找不到呢??,麻烦大大指点.

extmail 发表于 2006-1-30 21:45

[quote][b]下面是引用linuxunix1于2006-01-30 21:07发表的:[/b]
大大.谢谢你回复我的帖子.那个maildrop路径我写成绝对的就不再提示我找不到文件了.现在的"/var/log/maillog"的错误是这样的:
Jan 30 20:42:54 mail MailScanner[3644]: Virus and Content Scanning: Starting
Jan 30 20:42:54 mail MailScanner[3644]: Requeue: A3A8324204.B32BB to 6E62C2420B
Jan 30 20:42:54 mail MailScanner[3644]: Uninfected: Delivered 1 messages
Jan 30 20:42:54 mail postfix/qmgr[4010]: 6E62C2420B: from=<[email]mmmmm@yyyy.cn[/email]>, size=1019, nrcpt=1 (queue active)
.......[/quote]

你改了DEBUG_LOGIN=2后重新启动authdaemon了没有?另外如果是bsd系统,是否看了
/var/log/debug*这些日志文件?如果看了,什么内容?(maildrop提示用户找不到)。

这里就论到调试authlib的东西了。要看maildrop连接authlib时到底出了啥错误。

linuxunix1 发表于 2006-1-31 19:31

大大,我这里还是搞不定,完全按照你给出的步骤和方法来的.我的平台是rhas4.0,maildrp 2.0.1,postfix 2.2.8,mysql 5.0.18,php 5.1.2,apache 2.2.0我连机器都重新启动了的.如果不添加maildrop就很正常,发送和接受都没有问题.比较了修改前和修改后发送一封信的/var/log/maillog记录,发现修改后日志比修改前的记录就多出了"user unknown. Command output: Invalid user specified"相关的内容.现附上发修改后发送一封邮件 /var/log/maillog的全部内容,麻烦大大帮我诊断:

Jan 31 19:17:54 new MailScanner[3438]: Spam Checks: Found 1 spam messages
Jan 31 19:17:54 new MailScanner[3438]: Virus and Content Scanning: Starting
Jan 31 19:17:55 new MailScanner[3438]: Requeue: BC4AB12E5A8.C19A2 to 7FC8312E5AE
Jan 31 19:17:55 new MailScanner[3438]: Uninfected: Delivered 1 messages
Jan 31 19:17:55 new postfix/qmgr[2295]: 7FC8312E5AE: from=<[email]aaaa@yyyy.cn[/email]>, size=1066, nrcpt=1 (queue active)
Jan 31 19:17:55 new postfix/pipe[3562]: 7FC8312E5AE: to=<[email]bbbb@yyyy.cn[/email]>, relay=maildrop, delay=2, status=bounced (user unknown. Command output: Invalid user specified. )
Jan 31 19:17:55 new postfix/cleanup[3551]: 6EB4612E5A8: message-id=<[email]20060201001755.6EB4612E5A8@mail.yyyy.cn[/email]>
Jan 31 19:17:55 new postfix/qmgr[2295]: 6EB4612E5A8: from=<>, size=2801, nrcpt=1 (queue active)
Jan 31 19:17:55 new postfix/qmgr[2295]: 7FC8312E5AE: removed
Jan 31 19:17:55 new postfix/pipe[3562]: 6EB4612E5A8: to=<[email]aaaa@yyyy.cn[/email]>, relay=maildrop, delay=0, status=bounced (user unknown. Command output: Invalid user specified. )
Jan 31 19:17:55 new postfix/qmgr[2295]: 6EB4612E5A8: removed
Jan 31 19:17:53 new postfix/pickup[2294]: BC4AB12E5A8: uid=502 from=<[email]aaaa@yyyy.cn[/email]> orig_id=A35E312E5A7
Jan 31 19:17:53 new postfix/cleanup[3551]: BC4AB12E5A8: hold: header Received: by mail.yyyy.cn (Postfix, from userid 502)??id BC4AB12E5A8; Tue, 31 Jan 2006 19:17:53 -0500 (EST) from local; from=<[email]aaaa@yyyy.cn[/email]>
Jan 31 19:17:53 new postfix/cleanup[3551]: BC4AB12E5A8: message-id=<[email]20060201001753.BC4AB12E5A8@mail.yyyy.cn[/email]>
Jan 31 19:17:54 new MailScanner[3438]: New Batch: Scanning 1 messages, 677 bytes
Jan 31 19:17:54 new MailScanner[3438]: Spam Checks: Found 1 spam messages
Jan 31 19:17:54 new MailScanner[3438]: Virus and Content Scanning: Starting
Jan 31 19:17:55 new MailScanner[3438]: Requeue: BC4AB12E5A8.C19A2 to 7FC8312E5AE
Jan 31 19:17:55 new MailScanner[3438]: Uninfected: Delivered 1 messages
Jan 31 19:17:55 new postfix/qmgr[2295]: 7FC8312E5AE: from=<[email]aaaa@yyyy.cn[/email]>, size=1066, nrcpt=1 (queue active)
Jan 31 19:17:55 new postfix/pipe[3562]: 7FC8312E5AE: to=<[email]bbbb@yyyy.cn[/email]>, relay=maildrop, delay=2, status=bounced (user unknown. Command output: Invalid user specified. )
Jan 31 19:17:55 new postfix/cleanup[3551]: 6EB4612E5A8: message-id=<[email]20060201001755.6EB4612E5A8@mail.yyyy.cn[/email]>
Jan 31 19:17:55 new postfix/qmgr[2295]: 6EB4612E5A8: from=<>, size=2801, nrcpt=1 (queue active)
Jan 31 19:17:55 new postfix/qmgr[2295]: 7FC8312E5AE: removed
Jan 31 19:17:55 new postfix/pipe[3562]: 6EB4612E5A8: to=<[email]aaaa@yyyy.cn[/email]>, relay=maildrop, delay=0, status=bounced (user unknown. Command output: Invalid user specified. )
Jan 31 19:17:55 new postfix/qmgr[2295]: 6EB4612E5A8: removed

extmail 发表于 2006-2-1 09:25

[quote][b]下面是引用linuxunix1于2006-01-31 19:31发表的:[/b]
大大,我这里还是搞不定,完全按照你给出的步骤和方法来的.我的平台是rhas4.0,maildrp 2.0.1,postfix 2.2.8,mysql 5.0.18,php 5.1.2,apache 2.2.0我连机器都重新启动了的.如果不添加maildrop就很正常,发送和接受都没有问题.比较了修改前和修改后发送一封信的/var/log/maillog记录,发现修改后日志比修改前的记录就多出了"user unknown. Command output: Invalid user specified"相关的内容.现附上发修改后发送一封邮件 /var/log/maillog的全部内容,麻烦大大帮我诊断:

Jan 31 19:17:54 new MailScanner[3438]: Spam Checks: Found 1 spam messages
Jan 31 19:17:54 new MailScanner[3438]: Virus and Content Scanning: Starting
Jan 31 19:17:55 new MailScanner[3438]: Requeue: BC4AB12E5A8.C19A2 to 7FC8312E5AE
.......[/quote]

OK, RHAS4系统。

再问一次,你修改了authdaemonrc的DEBUG_LOGIN=2(改成2,如果默认的话就是0)
,后重新启动authdaemon了没有?

如果修改生效,maillog里一定有authdaemon的调试信息,而楼上给出来的压根就没有。

所以还是无济于事。。最后,maillog里没有可以看看/var/log/message。

olylinux 发表于 2006-2-1 15:25

Feb  1 11:58:34 mail authdaemond: modules="authmysql", daemons=5
Feb  1 11:58:34 mail authdaemond: Installing libauthmysql
Feb  1 11:58:34 mail authdaemond: Installation complete: authmysql

Feb  1 15:26:50 mail postfix/smtpd[1105]: connect from m15-18.126.com[220.181.15.18]
Feb  1 15:27:05 mail postfix/smtpd[1105]: 892D660E7: client=m15-18.126.com[220.181.15.18]
Feb  1 15:27:05 mail postfix/cleanup[1102]: 892D660E7: message-id=<[email]43E0628F.000048.19179@m67.126.com[/email]>
Feb  1 15:27:05 mail postfix/qmgr[466]: 892D660E7: from=<[email]olylinux@126.com[/email]>, size=2561, nrcpt=1 (queue active)
Feb  1 15:27:05 mail postfix/smtpd[1105]: disconnect from m15-18.126.com[220.181.15.18]
Feb  1 15:27:05 mail postfix/pipe[1108]: 892D660E7: to=<[email]ceshi@mail.456789.net[/email]>, relay=maildrop, delay=15, status=bounced (user unknown. Command output: Invalid user specified. )
Feb  1 15:27:05 mail postfix/cleanup[1102]: D70526196: message-id=<[email]20060201152705.D70526196@mail.456789.net[/email]>
Feb  1 15:27:05 mail postfix/qmgr[466]: D70526196: from=<>, size=4236, nrcpt=1 (queue active)
Feb  1 15:27:05 mail postfix/qmgr[466]: 892D660E7: removed
Feb  1 15:27:11 mail postfix/smtp[1104]: D70526196: to=<[email]olylinux@126.com[/email]>, relay=mx.126.split.netease.com[220.181.15.131], delay=6, status=bounced (host mx.126.split.netease.com[220.181.15.131] said: 553 Requested action not taken: NULL sender is not allowed,mx1,EIAYSati4EMd6ucG.21542S2 (in reply to MAIL FROM command))
Feb  1 15:27:11 mail postfix/qmgr[466]: D70526196: removed




大大,BSD系统,郁闷,也折腾的郁闷了。...过不去..........
authmysqlrc已经按照你说的那样设置了,不管用啊

wan8832 发表于 2006-2-2 10:15

Feb  2 09:56:51 akbt authdaemond: Authenticated: sysusername=<null>, sysuserid=2002, sysgroupid=2002, homedir=/var/mail/akbt.kmip.net/webmaster/, address=webmaster@akbt.kmip.net, fullname=webmaster, maildir=/var/mail/akbt.kmip.net/webmaster/Maildir/, quota=209715200, options=<null>
Feb  2 09:56:51 akbt authdaemond: Authenticated: clearpasswd=<null>, passwd=3CsPS7OzDvG.w
Feb  2 09:56:51 akbt maildrop[2495]: Invalid home directory permissions - world writable.
Feb  2 09:56:51 akbt postfix/pipe[2481]: E6F1C62C2: to=<[email]webmaster@akbt.kmip.net[/email]>, relay=maildrop, delay=29934, status=deferred (temporary failure. Command output: /usr/local/bin/maildrop: Invalid home directory permissions - world writable. )
说没有权限,没有访问目录的权限,可了我已将maildrop的权限给了Maildir?
郁闷呀!

olylinux 发表于 2006-2-2 10:17

Feb  2 09:50:09 mail authdaemond: #...FROM popbox, domain....  ...WHERE username = &#39;[email]ceshi@mail.456789.net[/email]&#39;.  #...AND popbox.domain_name = &#39;mail.456789.net&#39;..  #...AND popbox.domain_name = domain.domain_name
Feb  2 09:50:09 mail authdaemond: Authenticated: clearpasswd=<null>, passwd={CRYPT}3aC5prYPvZ3lw
Feb  2 09:50:09 mail maildrop[662]: Invalid home directory permissions - world writable.
Feb  2 09:50:09 mail postfix/pipe[661]: 79B47619E: to=<[email]ceshi@mail.456789.net[/email]>, relay=maildrop, delay=32328, status=deferred (temporary failure. Command output: /usr/local/bin/maildrop: Invalid home directory permissions - world writable. )
Feb  2 09:50:09 mail authdaemond: #...FROM popbox, domain....  ...WHERE username = &#39;[email]ceshi@mail.456789.net[/email]&#39;.  #...AND popbox.domain_name = &#39;mail.456789.net&#39;..  #...AND popbox.domain_name = domain.domain_name
Feb  2 09:50:09 mail authdaemond: Authenticated: clearpasswd=<null>, passwd={CRYPT}3aC5prYPvZ3lw
Feb  2 09:50:09 mail maildrop[665]: Invalid home directory permissions - world writable.
Feb  2 09:50:09 mail postfix/pipe[661]: 1F220631B: to=<[email]ceshi@mail.456789.net[/email]>, relay=maildrop, delay=32119, status=deferred (temporary failure. Command output: /usr/local/bin/maildrop: Invalid home directory permissions - world writable. )
Feb  2 09:50:09 mail authdaemond: #...FROM popbox, domain....  ...WHERE username = &#39;[email]ceshi@mail.456789.net[/email]&#39;.  #...AND popbox.domain_name = &#39;mail.456789.net&#39;..  #...AND popbox.domain_name = domain.domain_name
Feb  2 09:50:09 mail authdaemond: Authenticated: clearpasswd=<null>, passwd={CRYPT}3aC5prYPvZ3lw
Feb  2 09:50:09 mail maildrop[666]: Invalid home directory permissions - world writable.
Feb  2 09:50:09 mail postfix/pipe[664]: 460EF60E7: to=<[email]ceshi@mail.456789.net[/email]>, relay=maildrop, delay=31945, status=deferred (temporary failure. Command output: /usr/local/bin/maildrop: Invalid home directory permissions - world writable. )


大大,这个问题,

extmail 发表于 2006-2-2 10:21

[quote][b]下面是引用wan8832于2006-02-02 10:15发表的:[/b]
Feb  2 09:56:51 akbt authdaemond: Authenticated: sysusername=<null>, sysuserid=2002, sysgroupid=2002, homedir=/var/mail/akbt.kmip.net/webmaster/, address=webmaster@akbt.kmip.net, fullname=webmaster, maildir=/var/mail/akbt.kmip.net/webmaster/Maildir/, quota=209715200, options=<null>
Feb  2 09:56:51 akbt authdaemond: Authenticated: clearpasswd=<null>, passwd=3CsPS7OzDvG.w
Feb  2 09:56:51 akbt maildrop[2495]: Invalid home directory permissions - world writable.
Feb  2 09:56:51 akbt postfix/pipe[2481]: E6F1C62C2: to=<[email]webmaster@akbt.kmip.net[/email]>, relay=maildrop, delay=29934, status=deferred (temporary failure. Command output: /usr/local/bin/maildrop: Invalid home directory permissions - world writable. )
说没有权限,没有访问目录的权限,可了我已将maildrop的权限给了Maildir?
.......[/quote]

注意一点,本帖首已说过各目录权限,就是目录都是0700权限,文件都是0600的,否则maildrop
就会报这个“Invalid home directory permissions - world writable. ”的问题。

wan8832 发表于 2006-2-2 18:50

akbt# echo "test" | maildrop -V 10 -d [email]webmaster@akbt.kmip.net[/email]
maildrop: authlib: groupid=2002
maildrop: authlib: userid=2002
maildrop: authlib: logname=webmaster@akbt.kmip.net, home=/var/mail/akbt.kmip.net/webmaster/, mail=/var/mail/akbt.kmip.net/webmaster/Maildir/
maildrop: Changing to /var/mail/akbt.kmip.net/webmaster/
maildrop: Unable to change to home directory.

extmail 发表于 2006-2-2 19:34

[quote][b]下面是引用wan8832于2006-02-02 18:50发表的:[/b]
akbt# echo "test" | maildrop -V 10 -d [email]webmaster@akbt.kmip.net[/email]
maildrop: authlib: groupid=2002
maildrop: authlib: userid=2002
maildrop: authlib: logname=webmaster@akbt.kmip.net, home=/var/mail/akbt.kmip.net/webmaster/, mail=/var/mail/akbt.kmip.net/webmaster/Maildir/
maildrop: Changing to /var/mail/akbt.kmip.net/webmaster/
.......[/quote]

看看/var/mail目录及其子目录的所有权限吧。。。是否对uid=2002, gid=2002是可读的。

kelphon 发表于 2006-2-2 20:49

我刚刚安装了 maildrop 2.0.1 按照默认的方式编译的

echo "test" | /usr/local/bin/maildrop -V 10 -d [email]test@mx14.autowww.com.cn[/email]
Invalid user specified.

请问编译参数该如何设置

extmail 发表于 2006-2-2 21:10

[quote][b]下面是引用kelphon于2006-02-02 20:49发表的:[/b]
我刚刚安装了 maildrop 2.0.1 按照默认的方式编译的

echo "test" | /usr/local/bin/maildrop -V 10 -d [email]test@mx14.autowww.com.cn[/email]
Invalid user specified.

.......[/quote]

今天刚更新了本文档,如果是BSD系统,请从新仔细看看,make时记得make WITH_AUTHLIB=yes
还有一些要注意的,请重新阅读本文档

kelphon 发表于 2006-2-2 21:25

./configure --prefix=/usr/local/maildrop --prefix=/usr/local/maildrop --enable-sendmail=/usr/sbin/sendmail --enable-trusted-users=root maildrop --enable-syslog=1 --enable-maildirquota --enable-maildrop-uid=590 --enable-maildrop-gid=590 --with-trashquota --with-dirsync --enable-authlib

我的系統是Fedora

kelphon 发表于 2006-2-2 21:30

這是我編輯成功后maildrop的版本信息 沒有提示編譯成功 authlib

[root@localhost maildrop-2.0.1]# maildrop -v
maildrop 2.0.0 Copyright 1998-2005 Double Precision, Inc.
Maildir quota extension enabled.
This program is distributed under the terms of the GNU General Public
License. See COPYING for additional information.

extmail 发表于 2006-2-2 22:09

[quote][b]下面是引用kelphon于2006-02-02 21:30发表的:[/b]
這是我編輯成功后maildrop的版本信息 沒有提示編譯成功 authlib

[root@localhost maildrop-2.0.1]# maildrop -v
maildrop 2.0.0 Copyright 1998-2005 Double Precision, Inc.
Maildir quota extension enabled.
.......[/quote]

check this url:

[url]http://extmail.org/forum/viewthread.php?tid=1006[/url]

linuxunix1 发表于 2006-2-3 00:13

大大,[url]http://extmail.org/forum/viewthread.php?tid=1006[/url],这里的法子也不行啊!

linuxunix1 发表于 2006-2-3 03:15

终于搞定了,就是那个--enable-authlib=1,后面的这个=1一定要加上,否则就又玩完了. 感谢大大的大力帮忙.

extmail 发表于 2006-2-3 08:34

[quote][b]下面是引用linuxunix1于2006-02-03 03:15发表的:[/b]
终于搞定了,就是那个--enable-authlib=1,后面的这个=1一定要加上,否则就又玩完了. 感谢大大的大力帮忙.[/quote]

哦?--enable-authlib=1 ?我仔细再看看configure.in里,其实只有一个--disable-authlib
的参数可以选哦。。之前说的配置指令也许有点问题。

kelphon 发表于 2006-2-3 18:55

老大講得對;)

elm 发表于 2006-3-14 12:58

[quote][b]下面是引用extmail于2006-02-03 08:34发表的:[/b]


哦?--enable-authlib=1 ?我仔细再看看configure.in里,其实只有一个--disable-authlib
的参数可以选哦。。之前说的配置指令也许有点问题。[/quote]

我在RHEL AS4下直接./configure就可以的,没有加任何参数

./configure --help 里面只能看到 --disable-authlib,说明默认就是开的

页: [1] 2

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