1 Hintergrundanalyse Die Ubuntu-Installation VSFTPD wird allgemein verwendet:
Meine CentOS-Service-Version ist wie folgt:
[Wurzel@itsvse~]# vsftpd -Version
vsftpd: version 3.0.2
Nachdem Sie die Konfiguration anderer Online-Tutorials konsultiert haben, können Sie, wenn Konto, Passwort und Home-Verzeichnis korrekt sind, auf das Problem der Konto-Login-Eingabe 530 Login stoßen. Es gibt viele Lösungen im Internet, wie zum Beispiel die /etc/vsftpd.conf-Datei zu ändern, um pam_service_name=vsftpd in pam_service_name=ftp zu ändern, was dieses Problem lösen kann, aber diese Methode ist tatsächlich falsch.Das liegt daran, dass die /etc/pam.d/ftp-Datei nicht existiert, gleichumgangene PAM。
2 vsftpd PAM-Dateianalyse
/etc/pam.d/vsftpd 默认如下
#%PAM-1.0 Sitzungsoptional pam_keyinit.also erzwingen widerrufen Auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed Authentifizierung erfordert pam_shells.so Auth include password-auth Konto enthält Passwort-Authentifizierung Sitzung erforderlich pam_loginuid.so Sitzungen enthalten Passwort-Authentifizierung Es gibt Dinge, die 530-Fehler verursachen können
Auth required pam_listfile.so item=user sense= file verweigern=/etc/ftpusers onerr=succeed
und
Authentifizierung erfordert pam_shells.so
2.1 /etc/ftpusers
Auth required pam_listfile.so item=user sense= file verweigern=/etc/ftpusers onerr=succeed Die Bedeutung dieses Konfigurationselements ist, dass Benutzer in /etc/ftpusers sich nicht anmelden dürfen, wenn die Datei nicht standardmäßig existiert, dürfen alle Benutzer sich anmelden. Stellen Sie also sicher, dass der Benutzer nicht in dieser Datei ist.
2.2 pam_shells.so
Authentifizierung erfordert pam_shells.so-Konfigurationselement mit Shell-Befehlen in der Datei
Katze /etc/Shells # /etc/shells: gültige Login-Shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash Beim Erstellen eines FTP-Benutzers,Um SSH-Login zu deaktivieren, im Allgemeinen /bin/false, /usr/sbin/nologinusw., offensichtlich keine gültige Feier, also kannst du dich nicht einloggen.
3 Lösung
1. Überprüfen Sie /etc/ftpusers, um sicherzugehen, dass das Konto nicht in dieser Datei ist. 2. /etc/pam.d/vsftpd modifizieren Die Änderung der Auth required pam_shells.so auf ->Auth required pam_nologin.so (Oder kommentieren Sie diese Zeile) 3. Neustart vssftpd
(Ende)
|