0

imap-courier を dovecot に移行しています。openbsd+postfix+imap-courier を使用しています。今、openbsd+opensmtpd+dovecot を実行しようとしています。

最初は少しトラウマがありましたが、OpenSMTPD は正しく動作します。

これで dovecot の設定が完了しました。バックエンド認証が imap-courier で使用されたものと同じデータベースであることを願っています。

In /var/log/maillog receipt the following error
auth-worker(2915): Error: sql(user@domain.tld,199.254.238.134): `Invalid password in passdb: Not a valid MD5-CRYPT or PLAIN-MD5 password`

私の /etc/dovecot/dovecot-sql.conf.ext

password_query = \
  SELECT login, password \
  FROM users WHERE login = '%u'

私のデータベースMySQLも起動します

mysql> CREATE DATABASE mail;
Query OK, 1 row affected (0.01 sec)

mysql> use mail
Database changed
mysql> CREATE TABLE domains (
    ->        id       INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    ->        domain   VARCHAR(255) NOT NULL UNIQUE);
Query OK, 0 rows affected (0.02 sec)

mysql> CREATE TABLE users (
    ->        id       INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    ->        login    VARCHAR(255) NOT NULL UNIQUE,
    ->        name     VARCHAR(255) NOT NULL,
    ->        password CHAR(13) NOT NULL,
    ->        uid      SMALLINT NOT NULL DEFAULT 2000,
    ->        gid      SMALLINT NOT NULL DEFAULT 2000,
    ->        home     VARCHAR(255) NOT NULL DEFAULT '/var/vmail',
    ->        maildir  VARCHAR(255) NOT NULL,
    ->        quota    VARCHAR(10)  NOT NULL DEFAULT '10000000S');
Query OK, 0 rows affected (0.01 sec)

mysql> CREATE TABLE alias_maps (
    ->        id       INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    ->        account  VARCHAR(255) NOT NULL UNIQUE,
    ->        alias    VARCHAR(255) NOT NULL);
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT SELECT ON mail.* to 'vmail'@'localhost' IDENTIFIED BY 'vmail';
Query OK, 0 rows affected (0.01 sec)

mysql> FLUSH PRIVILEGES;

データベースにデータを挿入するためにこの過去のエラーが発生したのではなく、次のようにします。

mysql> INSERT INTO users (login, name, password, maildir)
    -> VALUES ('name@domain.tld', 'name lastname', ENCRYPT('pass'),
    ->         'domain.tld/name/');

これは私を助けます

全てに感謝

4

2 に答える 2

0

CRYPT を使用してパスワードを暗号化する場合、dovecot-sql.conf.ext に次の内容を入力する必要があります。

default_pass_scheme = CRYPT

クエリを実行したままにするだけでなく、これがより多くの人に役立つことを願っています。

password_query = \
  SELECT password \
  FROM users WHERE login = '%u'
于 2015-02-12T08:14:33.273 に答える