VSFTPD 530 Login falsch

12

Ich versuche, einen vsftpd-Server unter CentOS 5.3 x64 einzurichten. Ich kann keine lokalen Benutzeranmeldungen zum Laufen bringen. Hier ist meine 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

Hier ist die Ausgabe von 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."

Und die Ausgabe des sicheren Protokolls:

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

Es sieht so aus, als würde pam den Benutzer nicht authentifizieren. Hier ist meine /etc/pam.d/vsftp Datei:

#%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

Kann jemand sehen, was ich vermisse? Vielen Dank.

dw.emplod
quelle
Ich hatte das gleiche Problem, entfernte und installierte vsftpd erneut und funktionierte einwandfrei. Ja, es ist keine gute Lösung, aber es hat funktioniert.
usef_ksa
Witzig, dass Sie dies veröffentlichen, ist diese Woche auf genau dasselbe Problem gestoßen. Aus Frustration haben wir vsftpd ebenfalls neu installiert und es hat funktioniert. Defekte Drehzahl?
Kyle Smith

Antworten:

17
 vi /etc/pam.d/vsftp  

Kommentar #auth erforderlich pam_shells.so

und dann

Service vsftpd Neustart
pam_shells.so bedeutet, dass nur Benutzer mit Shells-Zugriff zugelassen werden sollten, weshalb dies kommentiert werden muss.

themihai
quelle
Jemand schlug vor , das Modul pam_nologin zu verwenden . Könnte eine Alternative sein.
Robsch
2

In meinem Fall habe ich das gleiche Problem mit dem folgenden gelöst:

vi /etc/pam.d/vsftpd

Kommentarzeile #auth include system-auth

dann

Service vsftpd Neustart

Ferbarron
quelle
1
Die Antwort mag richtig sein, aber es wäre nützlicher, wenn Sie eine Erklärung hinzufügen würden, warum diese Zeile auskommentiert werden sollte.
Jenny D
0

Dies ist keine richtige Antwort, sondern eine Strategie, die ich gefunden habe, um mir gute Dienste zu leisten:

Beginnen Sie mit dem Auskommentieren von Zeilen in Ihrer /etc/pam.d/vsftpDatei und prüfen Sie, ob (und wann) Sie sich anmelden können. PAM wurde absichtlich entwickelt, um nur Erfolg oder Misserfolg zu melden, nicht Grund.

Chen Levy
quelle
0

Haben Sie nur einen FTP-Server auf Ihrem System? Ich hatte ähnliche Probleme, und dann habe ich mich eingehender mit dem Problem befasst und zwei FTP-Server installiert, die in Konflikt standen. Ich habe einen deinstalliert und das Problem wurde behoben.

Wenn Sie die 'yum install vsftpd' durchgeführt haben, sollten Sie sich nicht mit Pam-Dateien herumschlagen müssen (etwas ist normalerweise falsch, wenn Sie anfangen, mit PAM herumzuspielen).

Wenn dies nicht der Fall ist, führen Sie chkconfig --list | aus grep ftp und sehen Sie, was auftaucht (sehen Sie, ob vsftpd dort auftaucht - wenn nicht, stimmt möglicherweise etwas mit der Installation nicht).

Und mein letzter Vorschlag wäre, ein leckeres Update durchzuführen.

Marm0t
quelle
vsftpd ist ein FTP-Server, kein SFTP-Server. Sie sind verschiedene Protokolle.
hellomynameisjoel
0

Hat der Benutzer eine gültige Shell? Ich denke, es muss in der / etc / shells-Liste stehen. Ist der Benutzer definitiv nicht die Datei / etc / vsftpd / ftpusers?

Stellen Sie sicher, dass Sie /etc/vsftpd/vsftpd.conf auf jeden Fall bearbeiten. Das hat mich unter CentOS gebissen. Ich habe /etc/vsftpd.conf bearbeitet.

vsftpd kann etwas fummelig sein und ist nicht besonders gut darin, Fehler zu melden. Bleib dabei Ich habe mir mit einem sehr ähnlichen Problem die Haare ausgerissen, es ist immer eine einfache Lösung.

hellomynameisjoel
quelle
-3

vi / etc / passwd / bin / bash für Ihren Benutzer

Nick
quelle