Ubuntu:Postfix,地图权限?

Ubuntu:Postfix,地图权限?

我刚刚在 Ubuntu 12.04 上加载了 Postfix(遵循了几个指南),大多数指南都说要将 /etc/postfix/maps(user.cf、alias.cf、domain.cf)中的文件权限更改为 700 并由 postfix 用户拥有。

但是,当我这样做时,这些文件无法读取。我必须将整个文件夹 chmod 为 777 才能使 postfix 正常工作。有什么想法可以解决此问题,这样我就不必对整个目录使用 777 了?

我知道这是一个权限问题,并且 postfix 应该在 postfix 帐户下运行,我只是想向你们征求建议。

询问信息:

ps aux | grep 后缀

root      1839  0.0  0.1 158844   864 ?        Ss   Dec28   0:00 /usr/sbin/saslauthd -a pam -r -c -m /var/spool/postfix/var/run/saslauthd -n 5
root      1840  0.0  0.2 158844  1040 ?        S    Dec28   0:00 /usr/sbin/saslauthd -a pam -r -c -m /var/spool/postfix/var/run/saslauthd -n 5
root      1841  0.0  0.1 158844   912 ?        S    Dec28   0:00 /usr/sbin/saslauthd -a pam -r -c -m /var/spool/postfix/var/run/saslauthd -n 5
root      1842  0.0  0.1 158844   844 ?        S    Dec28   0:00 /usr/sbin/saslauthd -a pam -r -c -m /var/spool/postfix/var/run/saslauthd -n 5
root      1844  0.0  0.1 158844   924 ?        S    Dec28   0:00 /usr/sbin/saslauthd -a pam -r -c -m /var/spool/postfix/var/run/saslauthd -n 5
root      2633  0.0  0.0  25108   356 ?        Ss   Dec28   0:00 /usr/lib/postfix/master
postfix   2637  0.0  0.0  27336   368 ?        S    Dec28   0:00 qmgr -l -t fifo -u
postfix   2697  0.0  0.1  38244   980 ?        S    Dec28   0:00 tlsmgr -l -t unix -u -c
root     18742  0.0  0.1   9388   884 pts/1    S+   00:11   0:00 grep --color=auto     postfix

ls -al /etc/postfix

drwxr-xr-x   4 root root     4096 Dec 28 16:29 .
drwxr-xr-x 117 root root     4096 Dec 28 17:24 ..
-rw-r--r--   1 root root      329 Dec 24 21:33 dynamicmaps.cf
-rw-r--r--   1 root root     2216 Dec 28 16:29 main.cf
-rw-r--r--   1 root root     1370 Dec 24 21:44 main.cf.old
drwxrwxrwx   2 root postfix  4096 Dec 28 17:10 maps
-rw-r--r--   1 root root     4797 Dec 24 21:46 master.cf
-rw-r--r--   1 root root    19707 Oct 23 10:10 postfix-files
-rwxr-xr-x   1 root root     8729 Oct 23 10:10 postfix-script
-rwxr-xr-x   1 root root    26498 Oct 23 10:10 post-install
drwxr-xr-x   2 root root     4096 Dec 24 21:55 sasl

当我收到错误消息时,它们将是:

Dec 28 17:04:43 prodserv1 postfix/virtual[7194]: error: open /etc/postfix/maps/user.cf: Permission denied
Dec 28 17:04:43 prodserv1 postfix/virtual[7194]: warning: mysql:/etc/postfix/maps/user.cf is unavailable. open /etc/postfix/maps/user.cf: Permission denied
Dec 28 17:04:43 prodserv1 postfix/virtual[7194]: warning: table virtual_mailbox_maps: lookup [email protected]: Permission denied

答案1

Postfix 主进程管理器以 root 身份运行。
因此,此进程可以访问其想要的任何内容,因此不是问题所在。

但是,master.cf 中任何服务,如果其服务定义第二列(“非特权”)设置为“y”,则在设置的用户帐户下运行邮件所有者在 main.cf 中。

此用户或其主要组必须具有对所有地图文件的读取权限:

chmod 0640 /etc/postfix/maps/* && chgrp <postfixgroup> /etc/postfix/maps/*

相关内容