1 Análisis de antecedentes La instalación de Ubuntu VSFTPD se utiliza generalmente:
La versión de mi servicio centOS es la siguiente:
[raíz@itsvse~]# vsftpd -versión
vsftpd: version 3.0.2
Tras consultar la configuración de otros tutoriales online, si la cuenta, la contraseña y el directorio personal son correctos, puede que te encuentres con el problema de que la solicitud de inicio de sesión 530 de la cuenta sea incorrecta. Hay muchas soluciones en Internet, como modificar el archivo /etc/vsftpd.conf para cambiar pam_service_name=vsftpd por pam_service_name=ftp, lo que puede resolver este problema, pero este método en realidad es incorrecto.Esto se debe a que el archivo /etc/pam.d/ftp no existe, igual aPAM omitido。
2 Análisis de archivos PAM VSFTPD
/etc/pam.d/vsftpd 默认如下
#%PAM-1.0 Sesión opcional pam_keyinit.so forzar revocación Requería autenticación pam_listfile.so item=User sense=denegar archivo=/etc/vsftpd/ftpusers onerr=succeed La autenticación requiere pam_shells.so Autenticación incluye contraseña-autenticación cuenta incluye contraseña-auth sesión requerida pam_loginuid.so Incluye autenticación por contraseña Hay cosas que pueden causar errores 530
Autenticación requerida pam_listfile.so item=User sense=Denegar archivo=/etc/ftpusers onerr=succeed
y
La autenticación requiere pam_shells.so
2.1 /etc/ftpusers
Autenticación requerida pam_listfile.so item=User sense=Denegar archivo=/etc/ftpusers onerr=succeed El significado de este elemento de configuración es que los usuarios en /etc/ftpusers tienen prohibido iniciar sesión si el archivo no existe en el formulario predeterminado que todos los usuarios pueden iniciar sesión. Así que asegúrate de que el usuario no esté en este archivo.
2.2 pam_shells.so
La autenticación requería pam_shells.so con comandos de shell en el archivo
gato /etc/conchas # /etc/shells: shells de inicio de sesión válidos
/bin/sh
/bin/dash
/bin/bash
/bin/rbash Al crear un usuario FTP,Para desactivar el inicio de sesión SSH, generalmente /bin/false, /usr/sbin/nologinetc., obviamente no es un bash válido, así que no puedes iniciar sesión.
3 Solución
1. Comprueba /etc/ftpusers para asegurarte de que la cuenta no está en este archivo. 2. Modificar /etc/pam.d/vsftpd Modificar la autenticación requerida pam_shells.so a ->autenticación requerida pam_nologin.so (O comenta esta línea) 3. Reiniciar vsftpd
(Fin)
|