免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 14872 | 回复: 12
打印 上一主题 下一主题

[Mail] dovecot收信权限问题(已解决) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-19 09:54 |只看该作者 |倒序浏览
又来麻烦各位了。。。。

CentOS5.3+Postfix,采用dovecot做pop3。现在出了一个小问题,邮件能够正常发送,但在客户端用OE收信的时候却收不到邮件,去服务器看了下dovecot的log日志,是权限的问题,如下:

dovecot: Aug 18 14:33:09 Info: pop3-login: Login: user=<test1@test.cn>, method=PLAIN, rip=192.168.1.97, lip=192.168.1.12
dovecot: Aug 18 14:33:09 Error: POP3(test1@test.cn): open(/var/mailbox/test.cn/test1/Maildir/cur/1250576277.V803I1002f4M162054.mail.test.cn:2,) failed: Permission denied
dovecot: Aug 18 14:33:09 Error: POP3(test1@test.cn): Couldn't init INBOX: Internal error occurred. Refer to server log for more information. [2009-08-18 14:33:09]
dovecot: Aug 18 14:33:09 Info: POP3(test1@test.cn): Mailbox init failed top=0/0, retr=0/0, del=0/0, size=0

我去该用户的目录里看了一下,.../Maildir/cur/中有一封新邮件,但该邮件的所有者是postfix,其他组和用户的权限都是空,我手动将该邮件的权限改了一下,改成其他组和用户都有read and write的权限,此时再在客户端用OE收取,可以正常收信了。但再发一封时问题依旧,新邮件的权限仍然只是针对Postfix用户。我想了很久,也google了,没有找到解决问题的办法,不知道该在哪里指定这个dovecot收信的权限呢?我将/var/mailbox目录的权限设置为777也没用,收到的新邮件的权限仍然只有postfix用户能够访问。。。。。麻烦大家给个思路,谢谢了!

[ 本帖最后由 mildyi0425 于 2009-8-20 10:56 编辑 ]

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
2 [报告]
发表于 2009-08-19 14:07 |只看该作者
dovecot.conf文件贴出来

论坛徽章:
0
3 [报告]
发表于 2009-08-19 14:27 |只看该作者
原帖由 ruochen 于 2009-8-19 14:07 发表
dovecot.conf文件贴出来


base_dir = /var/run/dovecot/
protocols = pop3
listen = *
log_path = /var/log/dovecotlog
disable_plaintext_auth = no
ssl_disable = yes
mail_location = maildir:/var/mailbox/%d/%n/Maildir
pop3_uidl_format=%08Xu%08Xv

auth default {
        ...
        mechanisms = PLAIN
        passdb sql {
                args = /etc/dovecot/dovecot-sql.conf
        }
        ...
        userdb sql {
                args = /etc/dovecot/dovecot-sql.conf
        }
        ...
        socket listen {
                ...
                client {
                        path = /var/run/dovecot/auth-client
                        mode = 0660
                        user = postfix
                        group = postfix
                }
        }
}


就是以上这些,都是照着google的文章来配的,其他的没列出来的都被注释掉了。帮看一下,有少的地方我再贴,麻烦了~

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
4 [报告]
发表于 2009-08-19 16:53 |只看该作者
没看到dovecot的错误


另外main.cf里面的下面参数你是怎么配置的?
virtual_mailbox_base =

[ 本帖最后由 ruochen 于 2009-8-19 16:57 编辑 ]

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
5 [报告]
发表于 2009-08-19 16:56 |只看该作者
postfix的运行用户是什么?
main.cf里面的mail_owner的配置是什么?

论坛徽章:
0
6 [报告]
发表于 2009-08-19 17:19 |只看该作者
原帖由 ruochen 于 2009-8-19 16:53 发表
没看到dovecot的错误
先逐级确认(/var/mailbox/test.cn/test1/Maildir/cur/的权限

另外main.cf里面的下面参数你是怎么配置的?
virtual_mailbox_base =


我去目录看了下/var/mailbox/test.cn/test1/Maildir/cur/的权限,每个文件夹的权限都已经设置成777,所有用户可读写,我把截图传上来了。



我试着手动将../test.cn/这个目录设置为所有文件可读写(就是图片中的那个File Access),可以收邮件了,但问题还是没有解决,新邮件的权限仍跟以前一样,如图



即使把权限设置为了777,为什么新生成的邮件的权限还是只能postfix访问?我的想法是能不能指定图片中的那个file access?让他在生成新文件的时候的权限是对所有组可读写的呢?或者说为什么dovecot收信时不是用postfix 来收信的呢?

补充一个比较菜的问题:为什么文件夹的权限设置为所有用户可读写了,可文件夹里面的文件权限却没有跟着父目录改变呢?道理上讲新生成文件的权限不是应该跟着父目录的吗?

virtual_mailbox_base目录是没有问题的:

virtual_mailbox_base = /var/mailbox/
virtual_mailbox_domains = mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf
virtual_mailbox_limit = 20971520
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_mailbox_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf

我这个问题是应该继续从权限方面考虑呢还是从配置方面考虑?我记得我前段时间在虚拟机学习测试的时候没有出现过这个问题的,我也并没有特别的指定过权限。。。苦恼

[ 本帖最后由 mildyi0425 于 2009-8-19 17:33 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2009-08-19 17:24 |只看该作者
原帖由 ruochen 于 2009-8-19 16:56 发表
postfix的运行用户是什么?
main.cf里面的mail_owner的配置是什么?


postfix的运行用户就是postfix吧?这个问题没考虑过.......有地方可以查看吗?

main.cf里面的mail_owner指定的是postfix:

# The mail_owner parameter specifies the owner of the Postfix queue
# and of most Postfix daemon processes.  Specify the name of a user
# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS
# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM.  In
# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED
# USER.
#
mail_owner = postfix

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
8 [报告]
发表于 2009-08-19 17:44 |只看该作者
virtual_mailbox_base = /var/mailbox/

这个推荐是后面没有 / 吧
另外你的selinux是什么配置?

ps aux|grep postfix就可以知道运行的用户的

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
9 [报告]
发表于 2009-08-19 17:46 |只看该作者
原帖由 mildyi0425 于 2009-8-19 17:19 发表


我去目录看了下/var/mailbox/test.cn/test1/Maildir/cur/的权限,每个文件夹的权限都已经设置成777,所有用户可读写,我把截图传上来了。

346075

我试着手动将../test.cn/这个目录设置为所有文件可读 ...



补充一个比较菜的问题:为什么文件夹的权限设置为所有用户可读写了,可文件夹里面的文件权限却没有跟着父目录改变呢?道理上讲新生成文件的权限不是应该跟着父目录的吗?
----那要看是以什么用户运行的程序写进去的

论坛徽章:
0
10 [报告]
发表于 2009-08-20 08:42 |只看该作者
原帖由 ruochen 于 2009-8-19 17:44 发表
virtual_mailbox_base = /var/mailbox/

这个推荐是后面没有 / 吧
另外你的selinux是什么配置?

ps aux|grep postfix就可以知道运行的用户的


我把 / 去掉之后试了一下,还是那样,客户端仍是收不到信,cur目录中邮件的权限也是跟以前一样

我的selinux是直接禁用的

[root@mail ~]# ps aux | grep postfix
postfix  21439  0.0  0.1  25748  6584 ?        S    Aug16   0:00 /usr/sbin/httpd
postfix  21440  0.0  0.1  25884  6628 ?        S    Aug16   0:00 /usr/sbin/httpd
postfix  21441  0.0  0.1  25748  6584 ?        S    Aug16   0:00 /usr/sbin/httpd
postfix  21442  0.0  0.1  25884  6628 ?        S    Aug16   0:00 /usr/sbin/httpd
postfix  21443  0.0  0.1  25748  6592 ?        S    Aug16   0:00 /usr/sbin/httpd
postfix  21444  0.0  0.1  25748  6584 ?        S    Aug16   0:00 /usr/sbin/httpd
postfix  21445  0.0  0.1  25884  6628 ?        S    Aug16   0:00 /usr/sbin/httpd
postfix  21446  0.0  0.1  25748  6584 ?        S    Aug16   0:00 /usr/sbin/httpd
root     22377  0.0  0.0   8272  1436 ?        Ss   Aug19   0:00 /usr/libexec/postfix/master
postfix  22378  0.0  0.0   8392  1896 ?        S    Aug19   0:00 qmgr -l -t fifo -u
postfix  27751  0.0  0.0   8332  1396 ?        S    08:10   0:00 pickup -l -t fifo -u
root     27816  0.0  0.0   3912   692 pts/1    S+   08:32   0:00 grep postfix

还有子目录父目录权限的问题,我所有的命令都是用root用户执行的....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP