From bad3fe7dcb1559b670841d7d4c82248c59f2f365 Mon Sep 17 00:00:00 2001 From: Thomas Picouet <thomas.picouet@riseup.net> Date: Mon, 24 Dec 2018 01:05:13 +0100 Subject: [PATCH] mise au propre MDA --- docker-compose/mail.yml | 1 - docker-compose/mail_plaintext.yml | 26 ------------------- docker-compose/mail_unix.yml | 21 +++++++++++++++ pica-mail-mda/auth_LDAP/README.md | 2 +- .../auth_LDAP/fichiers_de_configuration.sh | 12 ++++++--- pica-mail-mda/auth_LDAP/reset.sh | 6 ----- 6 files changed, 30 insertions(+), 38 deletions(-) delete mode 100644 docker-compose/mail_plaintext.yml create mode 100644 docker-compose/mail_unix.yml delete mode 100755 pica-mail-mda/auth_LDAP/reset.sh diff --git a/docker-compose/mail.yml b/docker-compose/mail.yml index 3702eb69..e9fbd816 100644 --- a/docker-compose/mail.yml +++ b/docker-compose/mail.yml @@ -13,7 +13,6 @@ services: hostname: pica-mail-mda volumes: - /var/lib/docker/volumes/mail-mda-maildir/_data:/home - - /var/lib/docker/volumes/mail-mda-log/_data:/var/log - /DATA/docker/mail/ssl/:/certs-ssl/:ro mail-mta: diff --git a/docker-compose/mail_plaintext.yml b/docker-compose/mail_plaintext.yml deleted file mode 100644 index eee56db5..00000000 --- a/docker-compose/mail_plaintext.yml +++ /dev/null @@ -1,26 +0,0 @@ -version: "3" - -services: - mail-mda: - image: pica-mail-mda:1 - container_name: pica-mail-mda-auth_plaintext - networks: - - default - hostname: pica-mail-mda - volumes: - - /var/lib/docker/volumes/mail-mda-maildir/_data:/home - - /var/lib/docker/volumes/mail-mda-log/_data:/var/log - - mail-mta: - image: pica-mail-mta:1 - container_name: pica-mail-mta-auth_plaintext - networks: - - default - volumes: - - /var/lib/docker/volumes/mail-mta-log/_data:/var/log - -networks: - default: - external: - name: local-mail-delivery - diff --git a/docker-compose/mail_unix.yml b/docker-compose/mail_unix.yml new file mode 100644 index 00000000..525d9b9f --- /dev/null +++ b/docker-compose/mail_unix.yml @@ -0,0 +1,21 @@ +version: "3" + +services: + mail-mda: + build: ../pica-mail-mda/auth_plaintext + image: pica-mail-mda:1 + container_name: pica-mail-mda + networks: + - mail + hostname: pica-mail-mda + volumes: + - /var/lib/docker/volumes/mail-mda-maildir/_data:/home + + mail-mta: + image: pica-mail-mta:1 + container_name: pica-mail-mta + networks: + - mail + +networks: + mail: diff --git a/pica-mail-mda/auth_LDAP/README.md b/pica-mail-mda/auth_LDAP/README.md index 82172d11..2318c772 100644 --- a/pica-mail-mda/auth_LDAP/README.md +++ b/pica-mail-mda/auth_LDAP/README.md @@ -7,5 +7,5 @@ docker build -t pica-mail-mda:2 . # Pour lancer le conteneur : ``` -docker run -d --name pica-mail-mda-ldap --network local-mail-delivery --hostname pica-mail-mda --mount source=mail-mda-maildir,target=/home/ --mount source=mail-mda-log,target=/var/log pica-mail-mda:2 +docker run -d --name pica-mail-mda --network pica_mail --hostname pica-mail-mda --mount source=mail-mda-maildir,target=/home/ --mount source=/DATA/docker/mail/ssl/,target=/certs-ssl/:ro -p 993:993 pica-mail-mda:2 ``` diff --git a/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh b/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh index 50528616..aab5c70c 100644 --- a/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh +++ b/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh @@ -27,16 +27,20 @@ sed -i 's/^#ldap_version = .*/ldap_version = 3/' /etc/dovecot/dovecot-ldap.conf. sed -i 's/^base =.*/base = dc='"${LDAP_DC2}"',dc='"${LDAP_DC1}"'/' /etc/dovecot/dovecot-ldap.conf.ext # Autoriser la recherche dans les branches sous-jacentes de cette base sed -i 's/^#scope = subtree.*/scope = subtree/' /etc/dovecot/dovecot-ldap.conf.ext -# On ne récupère aucun attribut car le nom du répertoire des mails correspond à la -# partie nom d'utilisateur de l'adresse mail. On n'a donc besoin d'aucun attribut. -sed -i 's/^#user_attrs =.*/user_attrs =/' /etc/dovecot/dovecot-ldap.conf.ext # Réaliser la correspondance entre l'UID (côté LDAP) et la partie nom d'utilisateur de # l'adresse mail (côté client). -sed -i 's/^#user_filter = .*/user_filter = (uid=%n)/' /etc/dovecot/dovecot-ldap.conf.ext +#sed -i 's/^#user_filter = .*/user_filter = (uid=%n)/' /etc/dovecot/dovecot-ldap.conf.ext +sed -i '130s/^.*/pass_attrs = uid=user,userPassword=password,uid=userdb_user/' /etc/dovecot/dovecot-ldap.conf.ext sed -i 's/^#pass_filter = .*/pass_filter = (uid=%n)/' /etc/dovecot/dovecot-ldap.conf.ext +# On ne récupère aucun attribut car le nom du répertoire des mails correspond à la +# partie nom d'utilisateur de l'adresse mail. On n'a donc besoin d'aucun attribut. +echo "user_attrs =" >> /etc/dovecot/dovecot-ldap.conf.ext #sed -i 's/^# = .*//' /etc/dovecot/dovecot-ldap.conf.ext ### Modification de /etc/dovecot/conf.d/auth-ldap.conf.ext +sed -i '15s/^#userdb {.*/userdb {/' /etc/dovecot/conf.d/auth-ldap.conf.ext +sed -i '16s/.*/ driver = prefetch/' /etc/dovecot/conf.d/auth-ldap.conf.ext +sed -i '17s/.*/}/' /etc/dovecot/conf.d/auth-ldap.conf.ext #sed ### Modification de /etc/dovecot/conf.d/10-auth.conf diff --git a/pica-mail-mda/auth_LDAP/reset.sh b/pica-mail-mda/auth_LDAP/reset.sh deleted file mode 100755 index be58c645..00000000 --- a/pica-mail-mda/auth_LDAP/reset.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -docker kill pica-mail-mda-ldap -docker rm pica-mail-mda-ldap -docker build -t pica-mail-mda:2 . -docker run -d --name pica-mail-mda-ldap --network local-mail-delivery --hostname pica-mail-mda --mount source=mail-mda-maildir,target=/home/ --mount source=mail-mda-log,target=/var/log pica-mail-mda:2 -docker exec -it pica-mail-mda-ldap /bin/bash -- GitLab