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


9

我正在配置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 给出与上述相同的错误。

Answers:


16

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

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

$ sudo postmap sasl_passwd

这将创建.db文件。


好的,我得到了:sudo ls -l /etc/postfix/sasl_passwd.db ls:无法访问/etc/postfix/sasl_passwd.db:没有这样的文件或目录可以触摸/etc/postfix/sasl_passwd.db chmod 640 / etc / postfix /sasl_passwd.db chown后缀:root /etc/postfix/sasl_passwd.db sudo ls -l /etc/postfix/sasl_passwd.db -rwxr--r--。1个postfix根目录0 Feb 19 04:16 /etc/postfix/sasl_passwd.db -rw-r -----。1个postfix根目录0 Feb 19 04:16 /etc/postfix/sasl_passwd.db postmap哈希值:/ etc / postfix / sasl_passwd postmap:致命信息:无法删除零长度数据库文件/etc/postfix/sasl_passwd.db:权限被拒绝chmod 777给出相同的。
James Benders

因此,该文件不存在。您需要创建它或找到正确的它。
哈立德

感谢您的答复,我更新了答案。请在上面查看。
James Benders

这还不清楚。请改用您的问题!您是否使用创建文件touch?这可能不合适。
哈立德

OK完成。是的,我使用过触摸,否则应该如何创建它?
James Benders

10

至少在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中


1
确认仍是问题@ 14.04
tamouse

和16.04
lts

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.