J'essaie d'obtenir un serveur vsftpd configuré sur CentOS 5.3 x64. Je ne parviens pas à faire fonctionner les identifiants des utilisateurs locaux. Voici mon 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
Voici la sortie 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."
Et la sortie du journal sécurisé:
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
Il semble que pam n'authentifie pas l'utilisateur. Voici mon fichier /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
Quelqu'un peut-il voir ce qui me manque? Merci.
Réponses:
commentaire #auth requis pam_shells.so
puis
pam_shells.so signifie que seuls les utilisateurs avec un accès shell doivent être autorisés, c'est pourquoi il faut les commenter.la source
Dans mon cas, j'ai résolu le même problème avec ce qui suit:
vi /etc/pam.d/vsftpd
la ligne de commentaire #auth inclut system-auth
puis
service vsftpd restart
la source
Ce n'est pas une bonne réponse, mais une stratégie que j'ai trouvée pour bien me servir:
Commencez à commenter les lignes de votre
/etc/pam.d/vsftp
fichier et voyez si (et quand) il vous permet de vous connecter. PAM est conçu intentionnellement pour ne signaler que les succès ou les échecs, pas la raison.la source
avez-vous un seul serveur ftp sur votre système? J'ai eu des problèmes similaires, puis bas et voici, j'ai approfondi le problème et il y avait deux serveurs ftp installés qui étaient en conflit. J'en ai désinstallé un et le problème a été résolu.
Si vous avez fait le 'yum install vsftpd', vous ne devriez pas avoir à jouer avec les fichiers pam (quelque chose de mal généralement lorsque vous commencez à jouer avec PAM).
Si ce n'est pas le cas, exécutez chkconfig --list | grep ftp et voyez ce qui se passe (voyez si vsftpd apparaît là-bas - sinon quelque chose peut mal tourner avec l'installation).
Et ma dernière suggestion serait d'exécuter une mise à jour miam.
la source
L'utilisateur a-t-il un shell valide? Je pense que cela doit être dans la liste / etc / shells. L'utilisateur n'est-il certainement pas le fichier / etc / vsftpd / ftpusers?
Assurez-vous que vous modifiez définitivement /etc/vsftpd/vsftpd.conf, ce qui m'a mordu sur CentOS, je modifiais /etc/vsftpd.conf.
vsftpd peut être un peu compliqué et n'est pas excellent pour signaler des erreurs. Restez avec moi, je me déchirais les cheveux avec un problème très similaire, c'est toujours une solution simple.
la source
vi / etc / passwd / bin / bash pour votre utilisateur
la source