Post by Iñaki ArenazaQuizás no me he explicado todo lo bien que quisiera.
Iñaki: El 'otro' sistema es un sistema propio programado en php que
guarda los usuarios en una base de datos con su correspondiente
contraseña.
Santiago: Lo que precisamente quiero evitar es que el futuro
administrador de la intranet tenga que acceder a la máquina linux para dar
de alta cuentas de usuario. No sé si eso es a lo que te refieres con
'crear cuentas de usuario como shell'
Jesús: La solución que me propones: 'hacer que la autenticación de los
mismos dependa del "sistema de usuarios"' es exáctamente lo que quiero
lograr, pero no sé cómo hacer que IMAP autentique los usuarios de mi tabla
de usuarios de la bd en vez de los de /etc/passwd.
para este tipo de cosas está el pam. Te permite definir un modo de
acceso para cada uno de los servicios. Solo tienes que decirle que
el imap te lo autentifique a través de la base de datos.
Para ello debes:
a) comprobar que tu servidor de imap admite pam. Es lo normal, ya que
de lo contrario se ve obligado a comunicarse con cualquier otro sistema
externo, en este caso el apache o el php.
b) comprobar que nombre de archivo usa en /etc/pam.d/. Lo normal es que
sea "imap" o "imapd", aunque cyrus usa el nombre "cyrus"
c) crear un archivo con las reglas de autentificación. En mi caso uso
un ldap:
-------------------------------------------
$ cat /etc/pam.d/cyrus
# PAM configuration file for Cyrus pwcheck
auth required pam_ldap.so
account required pam_ldap.so
--------------------------------------------
entiendo que las que tu necesitas serán del tipo pam_mysql.so
y que en algún lado tendrás que indicar la tabla y los campos.
d) instalar las librerías. En debian es el paquete libpam_mysql
si la base de datos que usas es mysql o libpam_pgsql si usas postgres
e) voilá: hacer las pruebas de rigor y a funcionar!!!
f) si quieres, además le añades otros tipos de autentificación:
si no está en la base de datos que mire a ver si está en el
/etc/passwd, o en el ldap, o que muestre un mensaje de aviso o
cualquier otra combinación que te apetezca.
Post by Iñaki ArenazaHe estado pensando que lo más sencillo sería poder crear cuentas de
usuario en la máquina linux a través de una interfaz web (PHP). Todavía no sé
cómo hacerlo ya que plantea varios riesgos de seguridad que no quiero
correr aunque la máquina no va a estar expuesta a internet ni a posible
usuarios peligrosos.
Voy a plantear la cuestión en es.comp.lenguajes.php a ver si hay alguien
que haya tenido el mismo dilema.
ese es un grupo de programación, no de configuración...
Un saludo.
--claudio--