Назад | Перейти на главную страницу

postmap: fatal: открыть базу данных /etc/postfix/sasl_passwd.db: в доступе отказано

Я настраиваю Postfix для использования внешнего smtp. Для этого я использовал этот учебник

После этого я обнаружил в журналах, что /etc/postfix/sasl_passwd.db не читается. Файл не существует. Я использовал хеш postmap: / etc / postfix / sasl_passwd (http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html) как root, но я получаю:

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 дает ту же ошибку, что и выше.

Вам необходимо убедиться, что пользователь postfix может читать этот файл. Вы можете опубликовать вывод $ sudo ls -l /etc/postfix/sasl_passwd.db чтобы получить дополнительную помощь.

Чтобы создать этот файл, вы можете использовать команду:

$ sudo postmap sasl_passwd

Это создаст .db файл.

Эта проблема, по крайней мере в 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

Сменить владельца

корень chown: wheel policy_file