From 4e5e44589db394e4b8146fc4f47fb9bc122fe74e Mon Sep 17 00:00:00 2001 From: Thomas Picouet <thomas.picouet@riseup.net> Date: Sun, 23 Dec 2018 22:11:00 +0100 Subject: [PATCH] changement NSS --- docker-compose/mail.yml | 4 ++-- pica-mail-mda/auth_LDAP/Dockerfile | 15 +++++++++++-- .../auth_LDAP/fichiers_de_configuration.sh | 22 +++++-------------- pica-mail-mta/Dockerfile | 4 ++-- 4 files changed, 22 insertions(+), 23 deletions(-) diff --git a/docker-compose/mail.yml b/docker-compose/mail.yml index 8c27c419..3702eb69 100644 --- a/docker-compose/mail.yml +++ b/docker-compose/mail.yml @@ -32,7 +32,7 @@ services: - /DATA/docker/mail/ssl/:/certs-ssl/ environment: - LMTP_LAN_HOSTNAME=pica-mail-mda.pica_mail - - ENV LMTP_PORT=1025 + - ENV LMTP_PORT=24 - MY_HOSTNAME=pica01-test.picasoft.net labels: - "traefik.frontend.rule=Host:mail.test.picasoft.net" @@ -53,7 +53,7 @@ services: - DOMAIN=mail.test.picasoft.net - + networks: mail: diff --git a/pica-mail-mda/auth_LDAP/Dockerfile b/pica-mail-mda/auth_LDAP/Dockerfile index fb25482e..3a939ce2 100644 --- a/pica-mail-mda/auth_LDAP/Dockerfile +++ b/pica-mail-mda/auth_LDAP/Dockerfile @@ -4,16 +4,27 @@ From debian #lors de l'installation de dovecot, par défaut, il y a des "fenêtres dans la console", ceci les désactive et utilise des réponses par défaut ENV DEBIAN_FRONTEND noninteractive +### Définition des variables d'environnement. +# LDAP +ENV LDAP_ADDRESS ldap.test.picasoft.net +ENV LDAP_NSS_CN readonly +ENV LDAP_DC2 picasoft +ENV LDAP_DC1 net +ENV LDAP_DNPASS readonly +# SSL +# L'antislash "\" est nécessaire devant le slash "/" ! +ENV SSL_CERT "\/certs-ssl\/cert" +ENV SSL_KEY "\/certs-ssl\/key" + COPY fichiers_de_configuration.sh / #installation des paquets debian RUN apt-get update -y \ && apt-get install -y \ - dovecot-common dovecot-imapd dovecot-lmtpd dovecot-ldap \ + dovecot-common dovecot-imapd dovecot-lmtpd dovecot-ldap nano \ && rm -rf /var/lib/apt/lists/* \ && addgroup --gid 1000 vmail \ && adduser --system --disabled-login --no-create-home --ingroup vmail --uid 500 vmail \ - # Prévoir de lire des param de conf via variable d'environnement et passer en entrypoint && bash /fichiers_de_configuration.sh CMD ["dovecot", "-F"] diff --git a/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh b/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh index cc59a998..50528616 100644 --- a/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh +++ b/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh @@ -7,29 +7,14 @@ ### Notes # La configuration de Dovecot étant éclatée dans plus d'une dizaine de fichiers, ce script # est censé être une alternative à la copie de tous ces fichiers pré-édité dans le conteneur. -# Fichier par fichier, il vient édité des paramètres spécifiques de Dovecot. -# Pour une utilisation basique, seule les variables d'environnement définies juste après doivent -# être définies. Le reste nécessite une connaissance plus fine de Dovecot. +# Fichier par fichier, il vient éditer des paramètres spécifiques de Dovecot. # La commande massivement utilisée dans ce script est sed. L'utilisation qui en # est faite est principalement celle-ci : # sed -i (édite le fichier) 's/regex identifiant la ligne à remplacer/ligne de substitution/' /chemin/du/fichier - -### Définition des variables d'environnement. -# LDAP -LDAP_ADRESS=ldap.test.picasoft.net -LDAP_NSS_CN=nss -LDAP_DC2=picasoft -LDAP_DC1=net -LDAP_DNPASS=rdonly -# SSL -# L'antislash est nécessaire devant le slash! -SSL_CERT="\/certs-ssl\/cert" -SSL_KEY="\/certs-ssl\/key" - ### Modification de /etc/dovecot/dovecot-ldap.conf.ext # Définition de l'adresse du LDAP -sed -i 's/^#hosts =.*/hosts = '"${LDAP_ADRESS}"'/' /etc/dovecot/dovecot-ldap.conf.ext +sed -i 's/^#hosts =.*/hosts = '"${LDAP_ADDRESS}"'/' /etc/dovecot/dovecot-ldap.conf.ext # Définition du distinguished name pour accéder au LDAP sed -i 's/^#dn =.*/dn = cn='"${LDAP_NSS_CN}"',dc='"${LDAP_DC2}"',dc='"${LDAP_DC1}"'/' /etc/dovecot/dovecot-ldap.conf.ext # Définition du mot de passe pour accéder au LDAP @@ -51,6 +36,9 @@ sed -i 's/^#user_filter = .*/user_filter = (uid=%n)/' /etc/dovecot/dovecot-ldap. sed -i 's/^#pass_filter = .*/pass_filter = (uid=%n)/' /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 + ### Modification de /etc/dovecot/conf.d/10-auth.conf # Le mécanisme d'authentification ne se fait pas par le système mais par un LDAP (inclusion du fichier de config) sed -i 's/^!include auth-system\.conf\.ext.*/#!include auth-system.conf.ext/' /etc/dovecot/conf.d/10-auth.conf diff --git a/pica-mail-mta/Dockerfile b/pica-mail-mta/Dockerfile index b2275b4e..4fef2285 100644 --- a/pica-mail-mta/Dockerfile +++ b/pica-mail-mta/Dockerfile @@ -29,8 +29,8 @@ ENV LDAP_PROTOCOL ldap ENV LDAP_SERVER_HOSTNAME ldap.test.picasoft.net ENV LDAP_PORT 389 #compte utilisé par les démons saslauthd et virtual_mailbox pour lire l'arborescence LDAP -ENV LDAP_BIND_DN cn=nss,dc=picasoft,dc=net -ENV LDAP_BIND_PW rdonly +ENV LDAP_BIND_DN cn=readonly,dc=picasoft,dc=net +ENV LDAP_BIND_PW readonly #niveau de l'arborescence à partir de laquelle les entrées sont considérées ENV LDAP_SEARCH_BASE dc=picasoft,dc=net #filtre sur les entrées demandées par saslauthd. %u sera substitué par le login entré par l'utilisateur -- GitLab