GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Vsftpd schlägt bei der Pam-Authentifizierung fehl?

Beim Verschieben einer bewährten vsftpd-Konfiguration auf einen neuen Server mit Fedora 16 stieß ich auf ein Problem. Alles scheint so zu laufen, wie es sollte, aber die Benutzerauthentifizierung schlägt fehl. Ich kann in keinem Protokoll einen Eintrag finden, der angibt, was passiert ist.

Hier ist die vollständige Konfigurationsdatei:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=0
data_connection_timeout=0
nopriv_user=ftpsecure
connect_from_port_20=YES
listen=YES
chroot_local_user=YES
chroot_list_enable=NO
ls_recurse_enable=YES
listen_ipv6=NO

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

FTP fordert mich zur Eingabe eines Benutzernamens und Passworts auf, ich gebe sie an, Anmeldung falsch. Ich habe überprüft, dass sich dieser Benutzer über ssh anmelden kann. Etwas ist mit pam_service vermasselt .

Anonym (falls auf erlaubt geändert) scheint gut zu funktionieren.

SELinux ist deaktiviert.

Ftpsecure scheint gut konfiguriert zu sein… Ich bin völlig ratlos!

Hier sind die Protokolldateien, die ich ohne Erfolg überprüft habe:

/var/log/messages
/var/log/xferlog      #empty
/var/log/vsftpd.log   #empty
/var/log/secure

Etwas in /var/log/audit/audit.log gefunden :

type=USER_AUTH msg=audit(1335632253.332:18486): user pid=19528 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="kate" exe="/usr/sbin/vsftpd" hostname=ip68-5-219-23.oc.oc.cox.net addr=68.5.219.23 terminal=ftp res=failed'

Vielleicht sollte ich mir /var/log/wtf-is-wrong.help ansehen 🙂

Weitere Infos:

/etc/pam.d/vsftpd sieht so aus:

#%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      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

Akzeptierte Antwort:

Wütend. Ich habe das Problem gelöst. Es läuft auf eine Konfiguration hinaus, aber innerhalb von /etc/pam.d/vsftpd

Da ssh-Sitzungen erfolgreich waren, während ftp-Sitzungen fehlschlugen, ging ich zu

/etc/pam.d/vsftpd, entfernte alles, was dort war, und platzierte stattdessen den Inhalt von ./sshd so, dass er genau den Regeln entspricht. Alles funktioniert!

Durch die Methode der Eliminierung fand ich heraus, dass die anstößige Zeile war:

    auth       required     pam_shells.so

Wenn ich es entferne, kann ich fortfahren.

Stimmt ab, „pam_shells ist ein PAM-Modul, das nur Zugriff auf das System zulässt, wenn die Benutzer-Shell in /etc/shells aufgeführt ist.“ Ich habe dort nachgesehen und tatsächlich, kein Bash, kein nichts. Dies ist meiner Meinung nach ein Fehler in der vsftpd-Konfiguration, da Sie nirgendwo in der Dokumentation /etc/shells bearbeiten müssen. Daher funktionieren die Standardinstallation und die Anweisungen nicht wie angegeben.

Ich werde suchen, wo ich den Fehler jetzt einreichen kann.


Linux
  1. Pam-Benutzer zwingen, nur FTPS zu verwenden und SFTP/SSH zu blockieren

  2. Linux-Logdateien

  3. 20 Linux-Protokolldateien, die sich im Verzeichnis /var/log befinden

  4. Anonymer Benutzer kann Datei nicht auf VSFTP-Server hochladen

  5. Yum schlägt mit „Error:database disk image is misformed“ in /var/log/messages fehl

Aufbau einer Linux Pluggable Authentication Modules (PAM) Konfigurationsdatei

Eine Einführung in Pluggable Authentication Modules (PAM) in Linux

So verbessern Sie die Benutzersicherheit von Linux mit Pluggable Authentication Module-Einstellungen

Grafana Loki-Installation

PAM-Authentifizierung

PAM-Authentifizierung für eine Legacy-Anwendung