Les outils utilisés sont:
| LDAP | OpenLDAP+pam_LDAP+nss_LDAP |
man slapd http://www.OpenLDAP.org http://www.padl.com |
Répertoire principal: /etc/openldap Fichier de configuration par machine: /etc/ldap.conf Données /var/openldap |
| Mail (SMTP) | Postfix |
man postfix http://www.postfix.org |
Répertoire de configuration: /etc/postfix |
| Mail (Pop/Imap) | Cyrus Imap+Cyrus SASL |
http://asg.web.cmu.edu/cyrus http://dudle.linuxroot.org/docs/postfix_cyrus/ |
Configuration: /etc/imapd.conf Données: /var/spool/imap/user (Mailboxes) et /var/imap |
Remarque: Il faut que Postfix, LDAP, Cyrus aient la meme version de libdb sinons, problemes garantis !
Le base DN est par exemple:
ou=myroot
dn: ou=myroot
objectClass: organizationalUnit
ou: myroot
Sociétés
|
mailAddress est une adreese email a laquelle 'répond' une personne ou un compte (@UneSociete.com indique: tous les courriers adressés @UneSociete.com pour lequel l'adreese email n'est pas trouvée dans un enregistrement)
mailRoutingAddress est une adresse vers laquelle router l'email
mailMyDestination est un domain pour lequel le serveur gere le courrier en local ou en routing (liaison avec mailAddress et mailRoutingAddress)
mailTransportFrom est le host sur lequel on recoit un mail
mailTransportTo est qui doit etre atteind
mailTransportRelay est le host vers lequel le host "mailTransportTo" doit router les mails à destination de "mailTransportTo"
Les courriers arrivant de l'extérieur ou de l'intérieur sont reçu sur mail.UneSociete.com par postfix. Postfix utilise la base LDAP pour savoir comment gérer ces mails.
Si les mails concernent un utilisateur local, ils sont délivrés par Cyrus Deliver.
Les courriers peuvent etre récupérés par POP ou Imap (Daemon Cyrus Imap), de l'intérieur ou de l'extérieur. Les utilisateurs sont authentifiés par leur entrées dans la base LDAP (avec pam_ldap et OpenLDAP)
Les informations sur le routage des emails sont dans la base LDAP.
L'authentification est faite auprès de la base LDAP.
Les courriers arrivant de l'extérieur ou de l'intérieur sont reçu sur mail.UneSociete.com par postfix. Postfix utilise la base LDAP pour savoir comment gérer ces mails.
Si les mails concernent un utilisateur local, ils sont délivrés par Cyrus Deliver.
Les courriers peuvent etre récupérés par POP ou Imap (Daemon Cyrus Imap), de l'intérieur ou de l'extérieur. Les utilisateurs sont authentifiés par leur entrées dans la base LDAP (avec pam_ldap et OpenLDAP)
Les informations sur le routage des emails est dans la base LDAP.
L'authentification est faite auprès de la base LDAP.
La création d'un compte se fait avec les étapes suivantes:
Création d'un nouveau DN dans la base LDAP. L'attribut mailaddress contient les adresses e-mail auxquelles répond la personne. L'attribut mailroutingaddress contient le compte et le serveur qui gère ce compte.
Il faut mettre le template de l'enregistrement ldap dans un fichier exemple:
dn: cn=usc_jdupont,ou=people,o=UneSociete,ou=companies,ou=myroot
objectClass: oxyTop
objectClass: account
objectClass: top
objectClass: posixAccount
objectClass: person
objectClass: organizationalPerson
objectClass: oxyInetOrgPerson
objectClass: oxyMailRecipient
objectClass: shadowAccount
cn: usc_jdupont
uid: usc_jdupont
mail: usc_jdupont@UneSociete.com
uidNumber: 10000
gidNumber: 231
sn: Dupont
givenName: Jean
homeDirectory: /home/usc_jdupont
loginShell: /bin/bash
mailAddress: usc_jdupont@UneSociete.com
mailAddress: root
mailAddress: root@UneSociete.com
mailAddress: postmaster@UneSociete.com
mailRoutingAddress: usc_jdupont@mailav.UneSociete.com
gecos: Jean Dupont
Puis ajouter cet enregistrement:
ldapadd -h ldap.UneSociete.com -D "cn=ldapadmin,ou=accounts,o=UneSociete,ou=companies,ou=myroot" -w LeMotDePasseDeLDAPAdmin < /tmp/usc_jdupont.ldiff
Créer ensuite le mot de passe:
ldappasswd -h ldap.UneSociete.com -D "cn=ldapadmin,ou=accounts,o=UneSociete,ou=companies,ou=myroot" -w LeMotDePasseDeLDAPAdmin -s LeMotDePasse "cn=usc_jdupont,ou=people,o=UneSociete,ou=companies,ou=myroot"
Création du nouveau compte avec cyradm sur pop.UneSociete.com:
cyradm -u root pop.UneSociete.com
cm user.usc_jdupont
quit
L'ajout d'une adresses e-mail pour une personne se fait en ajoutant simplement un attribut mailaddress avec cette adresse.
/etc/imapd.conf :
configdirectory: /var/imap partition-default: /var/spool/imap admins: cyrus root allowanonymouslogin: no sasl_pwcheck_method: saslauthd loginuseacl: yes hashimapspool: false timeout: 15 netscapeurl: http://www.MonDomaine.com allowplaintext: yes quotawarn: 80 sasl_auto_transition: yes sievedir: /var/imap/sieve reject8bit: no
/etc/ldap.conf :
ldap.conf/etc/ldap.secret :
Contient le mot de passe pour le serveur/usr/lib/sasl/Cyrus.conf :
sasl_pwcheck_method: saslauthd
/etc/pam.d/pop :
#%PAM-1.0 auth sufficient /lib/security/pam_ldap.so auth required /lib/security/pam_unix_auth.so try_first_pass account sufficient /lib/security/pam_ldap.so account required /lib/security/pam_unix_acct.so
/etc/pam.d/imap :
#%PAM-1.0 auth sufficient /lib/security/pam_ldap.so auth required /lib/security/pam_unix_auth.so try_first_pass account sufficient /lib/security/pam_ldap.so account required /lib/security/pam_unix_acct.so
/etc/sysconfig/saslauthd :
# $Id: saslauthd.sysconfig,v 1.1 2001/05/02 10:55:48 wiget Exp $ # Authentications mechanism (for list see saslauthd -v) SASL_AUTHMECH=pam # Hostname for remote IMAP server (if rimap auth mech is used) SASL_RIMAP_HOSTNAME= # Honour time-of-day login restrictions (if shadow auth mech is used) #SASL_TIME_OF_DAY_LOGIN_RESTRICTIONS=yes
/etc/nsswitch.conf (fragment):
passwd: files ldap nisplus nis shadow: files ldap nisplus nis group: files ldap nisplus nis
| Documentation Postfix/Cyrus/LDAP v1.1 | Copyright 2002 Oxymium | |
| Vous avez le droit d'enrichir et de redistribuer cette documentation pourvu que la mention "Copyright 2002 Oxymium" reste présente. Si vous apportez des modifications, merci de me les envoyer (mguesdon@oxymium.net) pour que je les ajoute sur ce document | ||