Ich hatte den gleichen Authentifizierungsfehler mit pam_service_name=vsftpd
.
Nach den Online-Ratschlägen konnte ich nicht herausfinden, warum pam_service_name=ftp
das Problem durch das Einstellen behoben wurde. Daher habe ich das Einstellen auf getestet pam_service_name=foobar
und das Problem behoben!
Haftungsausschluss: Auch ich bin neu in Linux, aber ich glaube, dass der allgemein akzeptierte Ratschlag pam_service_name=ftp
falsch ist .
pam_service_name=vsftpd
wählt die vorhandene Konfigurationsdatei aus /etc/pam.d/vsftpd
, pam_service_name=ftp
sucht jedoch nach /etc/pam.d/ftp
der nicht vorhandenen (zumindest auf meinem System - Ubuntu 14.04.2 LTS). Ich vermute, dass dies tatsächlich die PAM-Authentifizierung umgeht, ohne sich zu beschweren, dass die Datei nicht gefunden werden kann.
Wenn Sie keine gültige PAM-Konfiguration verwenden, ist diese möglicherweise weniger sicher.
Endgültige Lösung
Am Ende habe ich behalten pam_service_name=vsftpd
und sichergestellt, dass die Shell des Benutzers in der /etc/shells
Datei vorhanden ist. http://www.cyberciti.biz/tips/howto-linux-shell-restricting-access.html
Anschauen /etc/pam.d/vsftd
# Standard behaviour for ftpd(8).
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.
# Standard pam includes
@include common-account
@include common-session
@include common-auth
auth required pam_shells.so
Mein Problem war, dass es beim auth required pam_shells.so
Schritt fehlschlug . Ich hatte alle meine FTP-Benutzer dazu gebracht, die /usr/sbin/nologin
Shell zu verwenden, die in der /etc/shells
Datei nicht vorhanden war (nicht ubuntu, dies könnte nur sein /sbin/nologin
). Wenn Sie sich nicht sicher sind, kommentieren Sie das aus, um festzustellen, auth required pam_shells.so
ob dies die Ursache ist pam_service_name=vsftpd
.
Hinweis: Weitere Informationen legen nahe, dass es sauberer ist, stattdessen virtuelle Benutzer zu erstellen. Dies erfordert jedoch unterschiedliche vsftpd- und PAM-Konfigurationen - http://www.sigerr.org/linux/setup-vsftpd-custom-multiple-directories-users-accounts-ubuntu- Schritt für Schritt / .
usermod -s /bin/sh <username>
(mit/bin/sh
folgen Sie der von/etc/shells
) verwendet und ich kann mich bereits ftp anmelden.usermod -s /bin/sh <username>
In /etc/pam.d/vsftpd können Sie angeben
Benutzer, deren Anmeldung über / usr / sbin / nologin deaktiviert ist, können sich daher nur über FTP beim System anmelden.
Hinweis: Ich habe gelesen, dass das Hinzufügen von Nologin zu / etc / shells eine Sicherheitsbedrohung für Serverfault darstellen kann .
quelle
Für mich bestand das Problem darin, dass ich die PAM-Konfiguration (
/etc/pam.d/vsftpd
) auf einem Windows-Computer erstellt habe, was zu\r\n
Zeilenenden führte.Nachdem ich die Zeilenenden (nur
\n
) in den Linux-Stil konvertiert hatte , begann die PAM-Konfiguration zu funktionieren.Ich dachte auch zuerst, dass der Name des PAM-Dienstes falsch ist, und versuchte es
pam_service_name=ftp
stattdessen mitpam_service_name=vsftpd
, aber das half überhaupt nicht, und ich stimme der Einschätzung von Josef P. zu, dass dies nicht der richtige Weg ist.quelle