Administration d'un serveur de mail Cyrus Postfix OpenLDAP
Introduction:
Un serveur de mail peut être composé de plusieurs couches logicielles. Dans notre cas, nous utilisons:
- Cyrus : serveur d'accès à la messagerie, permet l'accès à la messagerie en utilisant les protocoles pop3 et imap (réception du courrier)
- Postfix : serveur de messagerie, permet l'envoie de courrier via le protocole smtp (envoye de courrier)
- OpenLDAP : annuaire électronique, permet de gérer la base des utilisateurs du serveur de mail.
Création d'un nouvel utilisateur:
L'ajout d'un nouvel utilisateur se passe en deux étapes:
- ajout d'une nouvelle entrée dans l'annuaire électronique
- création de la boîte au lettre pour le nouvel utilisateur
Pour ajouter un nouvel utilisateur dans un annuaire électronique, il faut éditer un fichier au format ldif. Par exemple, pour un utilisateur Jean Perez, cela donnerais ceci:
$ cat Jean-Perez.ldif # entrée pour Jean Perez dn:uid=perez,ou=people,dc=praksys,dc=net objectClass: top objectClass: person objectClass: posixAccount objectClass: inetOrgPerson uid: perez givenName: jperez sn: jean cn: jean perez loginShell: /bin/bash uidNumber: 1100 gidNumber: 544 homeDirectory: /home/perez userPassword: xxx mail: perez@praksys.net
Une fois le fichier ldif créé, on l'ajoute à l'annuaire électronique avec la commande ldapadd et les options suivantes:
- -D: dn, login de connexion, ici l'administrateur de l'annuaire
- -w: le mot de passe
- -x: le mécanisme d'authentification, ici authentification simple
- -f: le fichier ldif à rajouter
ce qui donne:
$ ldapadd -x -D cn=admin,dc=praksys,dc=net -w lemotdepass -f Jean-Perez.ldif adding new entry "uid=perez,ou=people,dc=praksys,dc=net"
On peut vérifier que l'entrée a bien été rajoutée avec la commande ldapsearch:
- -b: la base de recherche dans l'annuaire
- '(uid=perez)': le filtre de recherche
$ ldapsearch -x -D cn=admin,dc=praksys,dc=net -w lemotdepass -b ou=people,dc=praksys,dc=net '(uid=perez)' # extended LDIF # # LDAPv3 # base <ou=people,dc=praksys,dc=net> with scope subtree # filter: (uid=perez) # requesting: ALL # # perez, people, praksys.net dn: uid=perez,ou=people,dc=praksys,dc=net objectClass: top objectClass: person objectClass: posixAccount objectClass: inetOrgPerson uid: perez givenName: jperez sn: jean cn: jean perez loginShell: /bin/bash uidNumber: 1100 gidNumber: 544 homeDirectory: /home/perez userPassword:: eHh4 mail: perez@praksys.net # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1
Maintenant que nous avons rajouté notre nouvel utilisateur dans l'annuaire, il faut initialiser son mot de passe:
- -S: propose un prompt
- uid=perez,ou=people,dc=praksys,dc=net: le dn de notre utilisateur
ldappasswd -x -D cn=admin,dc=praksys,dc=net -w lemotdepass -S uid=perez,ou=people,dc=praksys,dc=net New password: xxxxxx Re-enter new password: xxxxxx Result: Success (0)
Maintenant, deuxième étape, il nous faut créer la BAL (boîte au lettre) de M. Perez à l'aide de l'outil cyradm. Cyradm ce présente comme un shell, pour obtenir de l'aide, tapez help:
- -U: l'administrateur de cyrus
- 127.0.0.1: l'adresse du serveur à administrer
$ cyradm -U cyrusadmin 127.0.0.1 IMAP Password: lemotdepass 127.0.0.1> cm user/perez 127.0.0.1> lm ... user/perez (\HasNoChildren) 127.0.0.1> quit
- cm ou createmailbox: créer une BAL
- lm ou listmailbox: lister les BAL
Voilà, nous avons maintenant créé une BAL pour notre nouvel utilisateur Jean Perez.
Suppression d'un utilisateur:
Dans l'annuaire électronique, rien de plus simple avec la commande ldapdelete:
$ ldapdelete -x -D cn=admin,dc=praksys,dc=net -w lemotdepass uid=perez,ou=people,dc=praksys,dc=net
Et dans cyrus:
cyradm -U cyrusadmin 127.0.0.1 IMAP Password: lemotdepass 127.0.0.1> dm user/perez 127.0.0.1> quit
- dm ou deletemailbox: supprime une BAL
Voila, maintenant vous connaissez les rudiments nécessaire à l'administration d'un serveur de mail en ligne de commande. Dans un avenir proche, vous pourrez également utiliser l'interface d'administration LLazy qui est actuellement en cours de développement.
Pour en savoir plus:
pour tout commentaire écrire à mail
Personnes ayant contribué: cédric santran "csantran@praksys.org":mailto:csantran@praksys.org
Dernière modification lundi 16 avril 2007 20:51