1 Analyse de fond L’installation d’Ubuntu VSFTPD est généralement utilisée :
La version de mon service centOS est la suivante :
[racine@itsvse~]# vsftpd -version
vsftpd: version 3.0.2
Après avoir consulté la configuration d’autres tutoriels en ligne, si le compte, le mot de passe et le répertoire personnel sont corrects, vous pourriez rencontrer le problème de connexion 530 Connexion incorrecte. Il existe de nombreuses solutions sur Internet, comme modifier le fichier /etc/vsftpd.conf pour changer pam_service_name=vsftpd en pam_service_name=ftp, ce qui peut résoudre ce problème, mais cette méthode est en réalité erronée.C’est parce que le fichier /etc/pam.d/ftp n’existe pas, égal àPAM contourné。
2 Analyse de fichiers PAM vsftpd
/etc/pam.d/vsftpd 默认如下
# %PAM-1.0 session optionnelle pam_keyinit.so force la révocation Auth requis pam_listfile.so item=User sense=Nier le fichier=/etc/vsftpd/ftpusers onerr=réussir L’authentification requise pam_shells.so Auth inclut Password-Auth compte include password-auth session requise pam_loginuid.so Session include password-auth Il y a des choses qui peuvent provoquer des erreurs 530
Auth requis pam_listfile.so item=User sense=Refuser le fichier=/etc/ftpusers onerr=réussir
et
L’authentification requise pam_shells.so
2.1 /etc/ftpusers
Auth requis pam_listfile.so item=User sense=Refuser le fichier=/etc/ftpusers onerr=réussir La signification de cet élément de configuration est que les utilisateurs de /etc/ftpusers sont interdits de se connecter si le fichier n’existe pas dans le fichier par défaut, tous les utilisateurs sont autorisés à se connecter. Assurez-vous donc que l’utilisateur ne soit pas dans ce fichier.
2.2 pam_shells.so
L’auth nécessitait pam_shells.so configuration avec des commandes shell dans le fichier
Chat /etc/coquillages # /etc/shells : shells de connexion valides
/bin/sh
/bin/dash
/bin/bash
/bin/rbash Lors de la création d’un utilisateur FTP,Pour désactiver la connexion SSH, généralement /bin/false, /usr/sbin/nologinetc., évidemment ce n’est pas un bash valide, donc tu ne peux pas te connecter.
3 Solution
1. Vérifiez /etc/ftpusers pour vous assurer que le compte ne figure pas dans ce fichier. 2. Modifier /etc/pam.d/vsftpd Modifier l’authentification requise pam_shells.so en ->auth requis pam_nologin.so (Ou commentez cette ligne) 3. Redémarrer le vsftpd
(Fin)
|