zhuifenglee 发表于 2014-07-25 12:10

postfix dovecot 收信权限问题求救

小弟初来找到,求助各位达人~

我在RHEL5.8上面用postfix+dovecot+mysql搭建支持虚拟用户的邮件服务系统,主要参考http://www.linuxidc.com/Linux/2012-03/56440p3.htm

问题描述:在extmail中收发内外网邮件没有问题,使用outlook和foxmail连接pop3和测试邮件均失败,在后台log中报错如下

Jul 25 11:56:08 zcapital dovecot: pop3-login: Login: user=<test@zcapital.com.cn>, method=PLAIN, rip=::ffff:192.168.10.120, lip=::ffff:192.168.50.251
Jul 25 11:56:09 zcapital dovecot: POP3(test@zcapital.com.cn): stat(/var/mailbox/zcapital.com.cn/test/Maildir/cur) failed: Permission denied
Jul 25 11:56:09 zcapital dovecot: POP3(test@zcapital.com.cn): stat(/var/mailbox/zcapital.com.cn/test/Maildir/cur) failed: Permission denied
Jul 25 11:56:09 zcapital dovecot: POP3(test@zcapital.com.cn): Couldn't open INBOX: Internal error occurred. Refer to server log for more information.
Jul 25 11:56:09 zcapital dovecot: POP3(test@zcapital.com.cn): Couldn't open INBOX top=0/0, retr=0/0, del=0/0, size=0

感觉是/var/mailbox/zcapital.com.cn/test/Maildir/cur权限问题,收发件创建的文件默认属性如图
赋予 777 权限后 群组postfix对文件夹访问变为“创建和删除文件”,此时即可正常连接和接收,但是出现新邮件后又会有问题
和版内另一位同学出现的问题一致 http://bbs.chinaunix.net/thread-1547310-1-1.html
认真看了他的帖子,发现解决办法有点莫名,我的postfix 的uid 和 gid 都是2525

在此求救各位达人,给小弟一点解决bug的思路,如何赋予群组更高的权限,应该在哪里配置?或者是其他的设置问题,拜谢!!!



chengchow 发表于 2014-07-25 14:44

其实很好解决看下,以test@zcapital.com.cn邮箱为例:
先看下/var/mailbox/zcapital.com.cn/test/Maildir/cur
路径权限是什么,再看下你设置的验证用户是否有访问权限

zhuifenglee 发表于 2014-07-25 15:12

回复 2# chengchow
系统自动创建的用户目录下的/maildir/var/路径权限如下图

我就想请教下:因为我是按照别人的攻略一步步配置的,不知道验证用户是否是postfix,是否对文件夹有访问权限,哪里能看到这些配置?多谢~

   

chengchow 发表于 2014-07-25 15:37

验证用户是postfix

chengchow 发表于 2014-07-25 15:53

本帖最后由 chengchow 于 2014-07-25 16:57 编辑

postfix客户端验证确实挺麻烦的,他是通过saslauthd-->courier-authlib-->mysql的,中间一个环节出错都不行
saslauthd配置比较简单,mysql数据库是通过extmail.sql导入的,也不容易出错,问题应该还是在cyrus-couired配置文件上面
把你的authmysqlrc文件贴出来看看

zhuifenglee 发表于 2014-07-25 16:44

回复 5# chengchow

谢谢您的耐心解答,我现在找到问题所在了应该是extmail在mysql中默认创建的用户 uidnumber和gidnumber都是1000,而我创建的postfix用户的uid和gid是2525,两者不一致导致的认证不通过

我在把用户表mailbox中的用户 uidnumber和gidnumber都改成2525以后,不需要修改任何文件的权限都可以通过outlook正常的收发了!

现在的问题是我想知道创建虚拟用户的mysql语句是在哪里配置的,我想把原来的1000改成2525就OK了,能否指点一下(我不想改postfix用户的id,怕出错就悲剧了)~



   

chengchow 发表于 2014-07-25 16:53

本帖最后由 chengchow 于 2014-07-25 16:54 编辑

建议用extman去创建方便,操作前先将extman和extmail配置文件的用户名和组改成2525,否则还会有权限问题
mysql创建,你连接到mysql用insert创建到mailbox就可以了
:lol你怕出错,越会出错,就算是生产机器,也没必要这么担心的,改之前做好备份就可以了

chengchow 发表于 2014-07-25 16:55

本帖最后由 chengchow 于 2014-07-25 16:56 编辑

你遇到的问题,我当时也遇到了,搞了半个月
天下文章一大抄,还都抄错了,最后一步一步确认,才发行了mysql中UID和用户权限uid不符合

action08 发表于 2014-07-25 17:35

有没有一个考普点的文档啊,我也没学过呢

zhuifenglee 发表于 2014-07-28 09:51

回复 8# chengchow

搞定!!多谢达人耐心解答,不胜感激,以后多交流,谢谢~~~~
   
页: [1] 2
查看完整版本: postfix dovecot 收信权限问题求救