我刚刚在 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/*