courier-pop y MySQL
Hola!
Sigo avanzando con lo de Postfix + MySQL + Courier. Ahora me centro
en el par Courier + basededatos.
Todo está bien si exceptuamos que me he visto obligado a acceder a MySQL
desde Courier con host (localhost) y puerto (3306) en lugar de socket,
no sé aún por qué. Lo malo de eso es que no he visto en
/etc/mysql/my.cnf que se especificara para qué IPs se da servicio.
Supongo que tendré que limitarlo con iptables (no es q diga q es
difícil), dado que tampoco se ejecuta bajo el control de los
TCPWrappers. Bueno, si me paso a xinetd tal vez pueda controlar el
acceso desde xinetd.conf... pero aparquemos eso de momento.
El caso es que Courier-POP[1] pretende acceder a la tabla de usuarios
virtuales con el identificador "postfix @localhost" (¡fijaos en los
espacios!), sin conseguirlo nunca. Cuando yo accedo con
mysql -h localhost -P 3306 -u postfix -p
o incluso con
mysql -S /var/run/mysql/mysql.sock -u postfix -p
el usuario que aparece en mysql.log es "postfix@localhost" sin ningún
espacio entre postfix y @localost, por supuesto. He aquí la diferecia en
dos líneas de /var/log/mysql.log:
Muy mal (courier-pop lo intenta):
030122 1:21:11 6 Connect Acceso negado para usuario: \
'postfix @localhost' (Usando clave: SI)
Muy bien (desde la línea de comandos):
030122 1:23:16 7 Connect postfix@localhost on
Postfix funciona sin problemas.. Estoy a *un pasito* de culminar la
primera fase del correo con lo de courier-pop (y courier-imap) :)
Luego vendrá un periodo de pruebas, ¡y a rular!
¿Podeis sugerirme algo?
Gracias x tod@s.
Pepe.
~~~~~~
A continuación pongo algún archivo que puede resultar útil.
/etc/courier/authdaemonrc:
authmodulelist="authmysql"
authmodulelistorig="authcustom authcram authuserdb authldap authmysql authpam"
daemons=5
version="authdaemond.mysql"
authdaemonvar=/var/run/courier/authdaemon
/etc/courier/authmodulelist
authdaemon
/etc/courier/authmysqlrc
MYSQL_SERVER localhost
MYSQL_USERNAME postfix
MYSQL_PASSWORD <password en claro>
MYSQL_PORT 3306
MYSQL_OPT 0
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
MYSQL_CLEAR_PWFIELD clear
DEFAULT_DOMAIN <dominio por defecto>[2]
MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD homedir
MYSQL_NAME_FIELD name
MYSQL_QUOTA_FIELD quota
/etc/courier/pop3d
prefix=/usr
exec_prefix=/usr
sbindir="/usr/sbin"
PIDFILE=/var/run/courier/pop3d.pid
MAXDAEMONS=40
MAXPERIP=4
AUTHMODULES="authdaemon"
AUTHMODULES_ORIG="authdaemon"
POP3AUTH="LOGIN CRAM-MD5 CRAM-SHA1"
POP3AUTH_ORIG="LOGIN CRAM-MD5 CRAM-SHA1"
POP3AUTH_TLS=""
POP3AUTH_TLS_ORIG="LOGIN PLAIN"
PORT=110
ADDRESS=0
TCPDOPTS="-nodnslookup -noidentlookup"
POP3DSTART=YES
La tabla de marras:
mysql> describe users;
+---------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+----------------+
| id | int(11) | | PRI | NULL | auto_increment |
| email | varchar(128) | | UNI | | |
| clear | varchar(128) | | | | |
| name | tinytext | | | | |
| uid | int(11) | | | 1002 | |
| gid | int(11) | | | 1002 | |
| homedir | tinytext | | | | |
| maildir | tinytext | | | | |
| quota | int(7) | | | 10240 | |
| postfix | enum('Y','N') | | | Y | |
+---------+---------------+------+-----+---------+----------------+
10 rows in set (0.01 sec)
- - - -
[1] Nada de SSL aún porque los certificados hay que validarlos :-P
¿Algún comentario sobre eso? ¿Qué clase de "burocracia" es exactamente?
[2] El dominio que se aádirá a los nombres de usuarios si estos se
autentifican con un solo nombre y no con uno del estilo usu@dom.com.
--
José Marcos Chalmés García - Public key ID: 0x6FDE933B
www.polinux.upv.es - www.debian.org - www.gnu.org - www.bsd.org - ...
I use free software | Utilitze programari lliure | Uso software libre
---------------------------------------------------------------------
Reply to: