Estoy tratando de configurar un servidor vsftpd en CentOS 5.3 x64. No puedo obtener ningún inicio de sesión de usuario local para trabajar. Aquí está mi vsftpd.conf:
local_enable=YES
write_enable=YES
pam_service_name=vsftpd
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
xferlog_std_format=NO
log_ftp_protocol=YES
chroot_local_user=YES
Aquí está la salida de vsftp.log:
Mon Sep 13 23:34:44 2010 [pid 19243] CONNECT: Client "10.0.1.138"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP response: Client "10.0.1.138", "220 (vsFTPd 2.0.5)"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP command: Client "10.0.1.138", "USER dwelch"
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "331 Please specify the password."
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP command: Client "10.0.1.138", "PASS <password>"
Mon Sep 13 23:34:44 2010 [pid 19242] [dwelch] FAIL LOGIN: Client "10.0.1.138"
Mon Sep 13 23:34:45 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "530 Login incorrect."
Y la salida del registro seguro:
Sep 13 17:40:50 intra vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=dwelch rhost=10.0.1.138 user=dwelch
Parece que pam no está autenticando al usuario. Aquí está mi archivo /etc/pam.d/vsftp:
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
¿Alguien puede ver lo que me falta? Gracias.
Respuestas:
comentario #auth requerido pam_shells.so
y entonces
pam_shells.so significa que solo los usuarios con acceso a shells deberían estar permitidos, por eso es necesario comentarlos.fuente
En mi caso, resolví el mismo problema con lo siguiente:
vi /etc/pam.d/vsftpd
línea de comentario #auth incluye system-auth
entonces
servicio vsftpd reiniciar
fuente
Esta no es una respuesta adecuada, sino una estrategia que descubrí que me sirve bien:
Comience a comentar las líneas en su
/etc/pam.d/vsftp
archivo y vea si (y cuándo) le permite iniciar sesión. PAM está diseñado intencionalmente para informar solo el éxito o el fracaso, no la razón.fuente
¿solo tiene un servidor ftp en su sistema? Tuve problemas similares, y luego bajo y he aquí que examiné más a fondo el problema y había dos servidores ftp instalados que estaban en conflicto. Desinstalé uno y se solucionó el problema.
Si hiciste el 'yum install vsftpd' no deberías tener que meterte con los archivos pam (algunas cosas generalmente están mal cuando comienzas a jugar con PAM).
Si no es así, ejecute chkconfig --list | grep ftp y vea qué aparece (vea si vsftpd aparece allí; de lo contrario, puede haber algún problema con la instalación).
Y mi sugerencia final sería ejecutar una actualización yum.
fuente
¿El usuario tiene un shell válido? Creo que tiene que estar en la lista / etc / shells. ¿El usuario definitivamente no es el archivo / etc / vsftpd / ftpusers?
Asegúrese de que definitivamente está editando /etc/vsftpd/vsftpd.conf, eso me mordió en CentOS que estaba editando /etc/vsftpd.conf.
vsftpd puede ser un poco complicado y no es excelente para informar errores. Quédate con eso porque me estaba arrancando el pelo con un problema muy similar, siempre es una solución simple.
fuente
vi / etc / passwd / bin / bash para su usuario
fuente