En déplaçant une configuration vsftpd éprouvée sur un nouveau serveur avec Fedora 16, j'ai rencontré un problème. Tout semble se passer comme il se doit, mais l'authentification de l'utilisateur échoue. Je ne trouve aucune entrée dans aucun journal qui indique ce qui s'est passé.
Voici le fichier de configuration complet :
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=0
data_connection_timeout=0
nopriv_user=ftpsecure
connect_from_port_20=YES
listen=YES
chroot_local_user=YES
chroot_list_enable=NO
ls_recurse_enable=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
FTP me défie pour un nom d'utilisateur et un mot de passe, je les fournis, Connexion incorrecte. J'ai vérifié, cet utilisateur est capable de se connecter à partir de ssh. Quelque chose ne va pas avec pam_service
.
Anonyme (si modifié en autorisé) semble bien fonctionner.
SELinux est désactivé.
FTPSecure semble bien configuré… Je suis complètement perdu !
Voici les fichiers journaux que j'ai examinés sans succès :
/var/log/messages
/var/log/xferlog #empty
/var/log/vsftpd.log #empty
/var/log/secure
Trouvé quelque chose dans /var/log/audit/audit.log
:
type=USER_AUTH msg=audit(1335632253.332:18486): user pid=19528 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="kate" exe="/usr/sbin/vsftpd" hostname=ip68-5-219-23.oc.oc.cox.net addr=68.5.219.23 terminal=ftp res=failed'
Je devrais peut-être regarder /var/log/wtf-is-wrong.help
🙂
Plus d'informations :
/etc/pam.d/vsftpd ressemble à ceci :
#%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 password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
Réponse acceptée :
Ouf. J'ai résolu le problème. Cela revient à une configuration mais dans /etc/pam.d/vsftpd
Parce que les sessions ssh ont réussi alors que les sessions ftp ont échoué, je suis allé à
/etc/pam.d/vsftpd, a supprimé tout ce qui s'y trouvait et a placé à la place le contenu de ./sshd pour qu'il corresponde précisément aux règles. Tout a fonctionné !
Par méthode d'élimination, j'ai trouvé que la ligne incriminée était :
auth required pam_shells.so
Le supprimer me permet de continuer.
Tuns out, "pam_shells est un module PAM qui n'autorise l'accès au système que si le shell des utilisateurs est répertorié dans /etc/shells." J'ai regardé là-bas et bien sûr, pas de bash, rien. Il s'agit d'un bogue dans la configuration de vsftpd à mon avis car nulle part dans la documentation vous n'avez modifié /etc/shells. Ainsi, l'installation et les instructions par défaut ne fonctionnent pas comme indiqué.
Je vais trouver où je peux soumettre le bogue maintenant.