Problemas con Servido FTP (SOLUCIONADO)

Imagen de Thulsa Doom
0 puntos

Hola a todos, he estado intentando instalar un servidor FTP con usuarios virtuales, para ello he instalado VSFTPS + PAM + MYSQL y no se que puede estar pasando que no consigo que me funcione.
el tutorial que he utilizado es este:

http://www.actiu.net/infordoc/servidors/vsftpd-pam-mysql_es.pdf

He leído más tutoriales y más cosas pero sin hallar la solución, en principio parece sencillo pero no se que hago mal que no rula.

viendo el archivo auth.log me pide un archivo verbose=0 que no tengo ni idea de lo que es, pego el .log para que vean con más detalle a lo que me refiero.

Dec 29 23:01:57 mako-ubuntu vsftpd[1]: PAM pam_parse: expecting return value; [...requiredpam_mysql.so]
Dec 29 23:01:57 mako-ubuntu vsftpd[1]: PAM unable to dlopen(/lib/security/verbose=0): 
/lib/security/verbose=0: cannot open shared object file: No such file or directory
Dec 29 23:01:57 mako-ubuntu vsftpd[1]: PAM adding faulty module: /lib/security/verbose=0

a ver si alguien me puede orientar en el camino correcto.
gracias y un saludo

Imagen de Thulsa Doom
+1
0
-1

Bueno, explicare mejor las cosas:

creo que el problema tiene que estar en el pam, en concreto en el archivo /etc/pam.d/vsftpd.

si lo relleno como indica el manual:

# Standard behaviour for ftpd(8).
auth	required	pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.

# Standard pam includes
#pam_ftp.so
#@include common-account
@include common-session
#@include common-auth
#auth	#required	#pam_shells.so


auth required     pam_mysql.so      verbose=0                   user=vsftpd
passwd=123456789       host=localhost       db=vsftpd      table=usuarios
usercolumn=nombre    passwdcolumn=password    statcolumn=estado   crypt=2
sqllog=true logtable=bitacora logmsgcolumn=mensaje logusercolumn=usuario
logpidcolumn=proceso loghostcolumn=cliente logtimecolumn=momento
account     required    pam_mysql.so      verbose=0             user=vsftpd
passwd=123456789       host=localhost       db=vsftpd      table=usuarios
usercolumn=nombre    passwdcolumn=password    statcolumn=estado   crypt=2
sqllog=true logtable=bitacora logmsgcolumn=mensaje logusercolumn=usuario
logpidcolumn=proceso loghostcolumn=cliente logtimecolumn=momento


el cliente ftp me da el error 530 y el log auth me muestra esto:

Dec 31 17:57:06 mako-ubuntu vsftpd: PAM (vsftpd) illegal module type: passwd=123456789
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM pam_parse: expecting return value; [...host=localhost]
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM (vsftpd) illegal module type: usercolumn=nombre
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM pam_parse: expecting return value; [...passwdcolumn=password]
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM (vsftpd) illegal module type: sqllog=true
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM pam_parse: expecting return value; [...logtable=bitacora]
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM (vsftpd) illegal module type: logpidcolumn=proceso
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM pam_parse: expecting return value; [...loghostcolumn=cliente]
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM (vsftpd) illegal module type: passwd=123456789
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM pam_parse: expecting return value; [...host=localhost]
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM (vsftpd) illegal module type: usercolumn=nombre
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM pam_parse: expecting return value; [...passwdcolumn=password]
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM (vsftpd) illegal module type: sqllog=true
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM pam_parse: expecting return value; [...logtable=bitacora]
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM (vsftpd) illegal module type: logpidcolumn=proceso
Dec 31 17:57:06 mako-ubuntu vsftpd: PAM pam_parse: expecting return value; [...loghostcolumn=cliente]
Dec 31 17:57:06 mako-ubuntu vsftpd: pam_mysql - required option "db" is not set

si saco lo puesto en el archivo vsftpd del pam.d, me funciona el vsftpd pero con los usuarios creados en en sistema operativo.

la verdad es que no se que más puedo hacer.
saludos

+1
0
-1
Imagen de Thulsa Doom
+1
0
-1

He avanzado algo más pero sigo con problemas, creo que he conseguido que el PAM funcione, pero ahora el cliente ftp me da un error

500 OOPS: config file not owned by correct user, or not a file

la manera de que el PAM me funciona, es añadiendo un archivo /etc/security/pam_mysql
con esto en su interior:

users.host=localhost
users.database=vsftpd
users.db_user=vsftpd
users.db_passwd=123456789
users.table=usuarios
users.user_column=nombre
users.password_column=password
users.password_crypt=2
verbose=1
log.enabled=1
log.table=bitacora
log.message_column=mensaje
log.pid_column=proceso
log.user_column=usuario
log.host_column=servidor
log.rhost_column=cliente
log.time_column=momento

Lo que tuve que poner en el archivo /etc/pam.d/vsftpd:

# Standard behaviour for ftpd(8).
#auth	required	pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.

# Standard pam includes
#pam_ftp.so
#@include common-account
@include common-session
#@include common-auth
#auth	#required	#pam_shells.so

auth required pam_mysql.so config_file=/etc/security/pam_mysql.conf try_first_pass=false
account required pam_mysql.so config_file=/etc/security/pam_mysql.conf try_first_pass=false

Y al parecer creo que funciona, porque cuando logeo, veo el log de auth y pone esto.

Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option verbose is set to "1"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.enabled is set to "1"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.table is set to "bitacora"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.message_column is set to "mensaje"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.pid_column is set to "proceso"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.user_column is set to "usuario"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.host_column is set to "servidor"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.rhost_column is set to "cliente"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.time_column is set to "momento"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_sm_authenticate() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_converse() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_open_db() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_open_db() returning 0.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_check_passwd() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_format_string() called
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_quick_escape() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - SELECT password FROM usuarios WHERE nombre = 'prueba'
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_check_passwd() returning 0.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_sql_log() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_format_string() called
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_quick_escape() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: last message repeated 3 times
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - INSERT INTO bitacora (mensaje, usuario, servidor, cliente, proceso, momento) VALUES ('AUTHENTICATION SUCCESS', 'prueba', '127.0.1.1', '192.168.0.3', '1', NOW())
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_sql_log() returning 0.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_sm_authenticate() returning 0.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option config_file is set to "/etc/security/pam_mysql.conf"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option try_first_pass is set to "false"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_close_db() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option users.host is set to "localhost"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option users.database is set to "vsftpd"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option users.db_user is set to "vsftpd"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option users.db_passwd is set to "123456789"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option users.table is set to "usuarios"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option users.user_column is set to "nombre"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option users.password_column is set to "password"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option users.password_crypt is set to "2"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option verbose is set to "1"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.enabled is set to "1"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.table is set to "bitacora"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.message_column is set to "mensaje"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.pid_column is set to "proceso"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.user_column is set to "usuario"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.host_column is set to "servidor"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.rhost_column is set to "cliente"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - option log.time_column is set to "momento"
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_sm_acct_mgmt() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_open_db() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_open_db() returning 0.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_query_user_stat() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_format_string() called
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_quick_escape() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - SELECT 0, password FROM usuarios WHERE nombre = 'prueba'
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_query_user_stat() returning 0.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_sql_log() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_format_string() called
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_quick_escape() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: last message repeated 3 times
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - INSERT INTO bitacora (mensaje, usuario, servidor, cliente, proceso, momento) VALUES ('QUERYING SUCCESS', 'prueba', '127.0.1.1', '192.168.0.3', '1', NOW())
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_sql_log() returning 0.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_sm_acct_mgmt() returning 0.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_release_ctx() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_destroy_ctx() called.
Jan  1 20:31:44 mako-ubuntu vsftpd: pam_mysql - pam_mysql_close_db() called.

si para ayudarme necesitan más datos pidan los que estaré gustoso de facilitarlos, gracias

+1
0
-1
Imagen de Thulsa Doom
+1
0
-1

Bueno pues ya he solucionado el problema.
Como nadie me ha ayudado a una solución o no ha aportado nada, quiero pensar que no tenían ni idea de como resolver el problema.

Voy a explicar el por que del mal funcionamiento

Resulta que el problema estaba en el vsftpd.conf.
para que el ftp trabaje con la base de datos y no con los usuarios en el sistema hay que sacar las opciones de

# Configurar la lista de usuarios
#userlist_enable=YES
#userlist_file=/etc/vsftpd/user_list

y activar
passwd_chroot_enable=YES
junto con
chroot_local_user=YES

+1
0
-1
Imagen de rockguel
+1
0
-1

debemos ingresar y editar estos datos en el archivo de configuracón de vsftpd???

# Configurar la lista de usuarios
#userlist_enable=YES
#userlist_file=/etc/vsftpd/user_list

y activar
passwd_chroot_enable=YES
junto con
chroot_local_user=YES

+1
0
-1
Imagen de rockguel
+1
0
-1

Hola, la idea es que ingresemos y editemos estos datos al archivo de conf de vsftpd???

# Configurar la lista de usuarios
#userlist_enable=YES
#userlist_file=/etc/vsftpd/user_list

y activar
passwd_chroot_enable=YES
junto con
chroot_local_user=YES

+1
0
-1