postmap:致命:打开数据库/etc/postfix/sasl_passwd.db:权限被拒绝

postmap:致命:打开数据库/etc/postfix/sasl_passwd.db:权限被拒绝

我正在配置 Postfix 以使用外部 smtp。为此,我使用了本教程

按照步骤操作后,我在日志中发现/etc/postfix/sasl_passwd.db无法读取。该文件不存在。我使用了 postmap hash:/etc/postfix/sasl_passwd (http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html),但我得到:

postmap: fatal: open database /etc/postfix/sasl_passwd.db: Permission denied

我为什么会得到这个?

OS: Fedora 14
User "postfix" exists.

更新:

sudo ls -l /etc/postfix/sasl_passwd.db ls:

cannot access /etc/postfix/sasl_passwd.db: No such file or directory

touch /etc/postfix/sasl_passwd.db
chmod 640 /etc/postfix/sasl_passwd.db
chown postfix:root /etc/postfix/sasl_passwd.db

sudo ls -l /etc/postfix/sasl_passwd.db

-rwxr--r--. 1 postfix root 0 Feb 19 04:16 /etc/postfix/sasl_passwd.db
-rw-r-----. 1 postfix root 0 Feb 19 04:16 /etc/postfix/sasl_passwd.db

postmap hash:/etc/postfix/sasl_passwd

postmap: fatal: cannot remove zero-length database file /etc/postfix/sasl_passwd.db: Permission denied.

chmod 777给出与上述相同的错误。

答案1

您需要确保 postfix 用户能够读取该文件。您可以发布输出以$ sudo ls -l /etc/postfix/sasl_passwd.db获得更多帮助。

要创建此文件,您可以使用以下命令:

$ sudo postmap sasl_passwd

这将创建该.db文件。

答案2

至少在 Ubuntu 12.04 上,此问题是由于 /etc/postfix 文件夹不属于 postfix 用户造成的。(如上所述)。

出现此错误信息的原因是,您不应该自己直接创建 .db 文件。如果您创建了,请将其删除。

postmap: fatal: cannot remove zero-length database file /etc/postfix/sasl_passwd.db: Permission denied.

对原始问题的简单修复是:

sudo chown postfix /etc/postfix

之后你可以运行这个

sudo postmap sasl_passwd

假设您的明文密码位于文件 sasl_passwd 中

答案3

更改所有者

chown root:wheel policy_file

答案4

通常情况下,您应该在系统上创建系统用户 postfix 和组。他必须能够读取 /etc/postfix 文件。

对我来说,最好的方法是让文件属于 root,因为这是标准的事情,但是组应该是 postfix,这样 postfix 用户可以读取这些文件。

chown root:postfix /etc/postfix -R

所以如果我做 ls -li 得到这个

drwxr-xr-x. 1 root    postfix    0  2 janv. 01:00 dynamicmaps.cf.d/
drwxr-xr-x. 1 root    postfix    0  2 janv. 01:00 postfix-files.d/
-rw-r--r--. 1 root    postfix  21K 20 déc.   2021 access
-rw-r--r--. 1 root    postfix  13K 20 déc.   2021 canonical
-rw-r--r--. 1 root    postfix   60  2 janv. 01:00 dynamicmaps.cf
-rw-r--r--. 1 root    postfix  11K 20 déc.   2021 generic
-rw-r--r--. 1 root    postfix  24K  9 oct.   2016 header_checks
-rw-r--r--. 1 root    postfix  31K 14 avril 07:26 main.cf
-rw-r--r--. 1 root    postfix  29K  2 janv. 01:00 main.cf.proto
-rw-r--r--. 1 root    postfix 7,8K 26 mars  22:37 master.cf
-rw-r--r--. 1 root    postfix 7,0K  2 janv. 01:00 master.cf.proto
-rw-r--r--. 1 root    postfix 1,1K 26 mars  17:28 my-clamd.pp
-rw-r--r--. 1 root    postfix  274 26 mars  17:28 my-clamd.te
-rw-r--r--. 1 root    postfix  21K  2 janv. 01:00 postfix-files
-rw-r--r--. 1 root    postfix 7,0K 20 déc.   2021 relocated
-rw-r--r--. 1 root    postfix  14K 20 déc.   2021 transport
-rw-r--r--. 1 root    postfix  14K 25 mars   2022 virtual
-rw-r--r--. 1 root    postfix   38 14 avril 07:34 virtual-mailbox
-rw-r--r--. 1 root    postfix  12K 14 avril 11:42 virtual-mailbox.db

相关内容