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.
Antworten:
Kommentar #auth erforderlich pam_shells.so
und dann
pam_shells.so bedeutet, dass nur Benutzer mit Shells-Zugriff zugelassen werden sollten, weshalb dies kommentiert werden muss.quelle
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
quelle
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/vsftp
Datei 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.quelle
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.
quelle
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.
quelle
vi / etc / passwd / bin / bash für Ihren Benutzer
quelle