Warum kann ich mich bei vsftpd nicht mit einem virtuellen Benutzerkonto anmelden?

Warum kann ich mich bei vsftpd nicht mit einem virtuellen Benutzerkonto anmelden?

Ich möchte vsftpd mit virtuellen Benutzern und pam_pwdfile.so verwenden. Ich habe vsftpd installiert und zwei Benutzer (Ramon und Dragon) über htpasswd zu meiner Datei /etc/vsftpd.passwd hinzugefügt. /etc/pam.d/vsftpd ist so konfiguriert, dass diese Datei verwendet wird.

auth  required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth    required pam_pwdfile.so pwdfile /etc/vsftpd.passwd
account required pam_permit.so

@include common-account
@include common-session

Der Benutzer "ramon" ist auch in verfügbar /etc/passwd. Ein Login am FTP mit dem Benutzer "ramon" funktioniert wie erwartet. Aber ein Login mit "dragon" funktioniert nicht :/ Das Ergebnis ist immer

Login failed: 530 Login incorrect.

Da es möglich ist, dass ich einen Fehler gemacht habe, habe ich es genau so versucht, wie es in beschrieben ist /usr/share/doc/vsftpd/examples/VIRTUAL_USERS/README. Immer noch kein Glück. Ich kann mich mit dem Benutzer „ramon“ anmelden, aber nicht mit dem Benutzer „dragon“.

Irgendwelche Ideen?

Antwort1

Ich hatte das gleiche Problem, aberdieser Threadgeholfen.

Anscheinend hat vsftpd Probleme mit MD5-Hashes. Als ich htpasswd anwies, crypt() (die Option -d) zu verwenden, funktionierte es plötzlich:

sudo htpasswd -c -d -b /etc/ftpd.passwd twilight sparkle

Antwort2

Verwenden Sie zur Konfiguration Folgendes.

http://en.gentoo-wiki.com/wiki/Vsftpd#b.29_pam_pwdfile

Ich habe dies auf meinem Setup ausprobiert und es funktioniert wie erwartet.

Antwort3

Das Hinzufügen der Option -d zu htpasswd hat bei meinem Rackspace/Ubuntu-Setup funktioniert: htpasswd -c -d passwd username.

Antwort4

Installieren:

apt install vsftpd libpam-pwdfile

Benutzer erstellen:

useradd -N -s /bin/false -d /home/vsftpd vsftpd

Dateien bearbeiten/erstellen:

# /apt/pam.d/vsftpd
auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd
account required pam_permit.so

# /etc/vsftpd.conf
listen=YES
#listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
nopriv_user=vsftpd
chroot_local_user=YES
pam_service_name=vsftpd
utf8_filesystem=YES
hide_ids=YES
user_config_dir=/etc/vsftpd_user_conf
guest_enable=YES
virtual_use_local_privs=YES
pam_service_name=vsftpd
guest_username=vsftpd

# /etc/vsftpd/ftpd.passwd
# user names without passwords
# user name 'upload' has a password.
# if real password is 'MyPassword' then hash created with command:
# openssl passwd MyPassword
programming:
videos:
documents:
furnitures:
sound:
engineer:
games:
programs:
shits:
upload:X7nyBRuyuJVyg

# /etc/vsftpd_user_conf/documents
local_root=/media/nas/Έγγραφα

# /etc/vsftpd_user_conf/engineer
local_root=/media/nas/Μηχανικός
hide_file={/_unsorted_,/personal}

# /etc/vsftpd_user_conf/upload
local_root=/media/nas/downloads/FTP upload
download_enable=NO
write_enable=YES
allow_writeable_chroot=YES

verwandte Informationen