Courier-mta et virtual users

J’ai enfin un truc qui marche… Récapitulons.

Créer un utilisateur vmail qui opérera seul sur les fichiers de mail.

adduser vmail

Configurer vmail comme on veut. Noter ses UID/GID (ici 1009)

Configurer courier-mta normalement.

installer courier-authlib-postgresql :

apt-get install courier-authlib-postgresql

Modifier /etc/courier/authdaemonrc. Il faut avoir :

authmodulelist="authpam authpgsql"

et pour commencer :

DEBUG_LOGIN=1

Modifier aussi /etc/courier/authpgsqlrc. Les lignes importantes sont :

PGSQL_HOST              127.0.0.1
PGSQL_PORT              5432
PGSQL_USERNAME          postgres
PGSQL_PASSWORD

Créer une base de données (dans postgres) nommée mail par exemple avec la table passwd ayant la structure suivante :

CREATE TABLE passwd (
        id                    varchar(128) DEFAULT '' NOT NULL,
        crypt                 varchar(128) DEFAULT '' NOT NULL,
        clear                 varchar(128) DEFAULT '' NOT NULL,
        name                  varchar(128) DEFAULT '' NOT NULL,
        uid                   int DEFAULT 65534 NOT NULL,
        gid                   int DEFAULT 65534 NOT NULL,
        home                  varchar(255) DEFAULT '' NOT NULL,
        maildir               varchar(255) DEFAULT '' NOT NULL,
        defaultdelivery       varchar(255) DEFAULT '' NOT NULL,
        quota                 varchar(255) DEFAULT '' NOT NULL,
        CONSTRAINT id PRIMARY KEY (id)
);

Insérer un enregistrement de test dans la base :

INSERT INTO passwd (id,crypt,name,uid,gid,home) VALUES ('taste','$1$CY7vG$bjUINelvcc2niojOcDibQ.','taste account',1009,1009,'/home/mail/taste');

Le champ crypt est obtenu en utilisant la commande :

authpasswd

Ici, le mot de passe crypté est 123.

Vérifier que la connexion en socket TCP marche bien -sinon jeter un œil du côté de /etc/postgresql/ et notamment pg_hba.conf :

psql -h 127.0.0.1 -U postgres mail

À ce stade, on doit pouvoir s’authentifier et voir taste dans la liste des comptes :

# authenumerate |grep taste
taste   1009    1009    /home/vmail/taste

# authtest taste
Authentication succeeded.

     Authenticated: taste  (uid 1009, gid 1009)
    Home Directory: /home/vmail/taste
           Maildir: (none)
             Quota: (none)
Encrypted Password: $1$CY7vG$bjUINelvcc2niojOcDibQ.
Cleartext Password: (none)
           Options: (none)

Créer /home/vmail/taste :

mkdir -p /home/vmail/taste

Créer le .courier-default de ce compte. Par exemple :

echo './Maildir' >/home/vmail/taste/.courier-default

Créer ensuite un alias qui pointe vers notre taste :

echo '@gitenville.com: taste' >/etc/aliases/gitenville
makealiases

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *