VSFTPD - Login-Probleme (530)

wicht

New Member
Hallo liebes Forum!

Mein erstes Posting - und direkt komme ich mit einem wunderschönen Problem.
Habe so einen Server und habe da vorgestern VSFTPD installiert. Ich möchte nur virtuellen Benutzern den Login erlauben, mit Hilfe von PAM und MySQL.

Erstmal die Konfiguration damit das erledigt ist:

/etc/vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
listen_port=4322
chroot_local_user=YES
guest_enable=YES
guest_username=ftpguest
log_ftp_protocol=YES

Dann natürlich noch /etc/pam.d/vsftpd
@include common-auth

auth required pam_mysql.so user=ftp passwd=vsftp host=localhost db=ftp table=users usercolumn=username passwdcolumn=password crypt=0 verbose=1 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime
account required pam_mysql.so user=ftp passwd=vsftp host=localhost db=ftp table=users usercolumn=username passwdcolumn=password crypt=0 verbose=1 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime

Natürlich bringt euch das nichts ohne eine Analyse des Problems. Also, in der users-Tabelle ist ein Benutzer test mit Passwort testtest eingefügt worden. Versuche ich mich mit diesem Benutzer einzuloggen, erkenne ich in den Log-Files folgendes:

/var/log/vsftpd
Fri Apr 9 13:14:24 2010 [pid 5191] FTP command: Client "87.139.101.243", "USER test"
Fri Apr 9 13:14:24 2010 [pid 5191] [test] FTP response: Client "87.139.101.243", "331 Please specify the password."
Fri Apr 9 13:14:24 2010 [pid 5191] [test] FTP command: Client "87.139.101.243", "PASS <password>"
Fri Apr 9 13:14:25 2010 [pid 5190] [test] FAIL LOGIN: Client "87.139.101.243"
Fri Apr 9 13:14:26 2010 [pid 5191] [test] FTP response: Client "87.139.101.243", "530 Login incorrect."

/var/log/auth.log
Apr 9 13:14:24 knecht vsftpd: pam_mysql - pam_mysql_quick_escape() called.
Apr 9 13:14:24 knecht vsftpd: pam_mysql - pam_mysql_quick_escape() called.
Apr 9 13:14:24 knecht vsftpd: pam_mysql - INSERT INTO logs (msg, user, host, pid, logtime) VALUES ('AUTHENTICATION SUCCESS', 'test', '87.139.101.243', '5190', NOW())
Apr 9 13:14:24 knecht vsftpd: pam_mysql - pam_mysql_sql_log() returning 0.
Apr 9 13:14:24 knecht vsftpd: pam_mysql - pam_mysql_check_passwd() returning 0.
Apr 9 13:14:24 knecht vsftpd: pam_mysql - pam_sm_authenticate() returning 0.
Apr 9 13:14:25 knecht vsftpd: pam_mysql - pam_mysql_release_ctx() called.
Apr 9 13:14:25 knecht vsftpd: pam_mysql - pam_mysql_destroy_ctx() called.
Apr 9 13:14:25 knecht vsftpd: pam_mysql - pam_mysql_close_db() called.

Dort drin steht Authentication success. Das SQL, was von PAM ausgeführt wird, liefert auf jedenfall auch den Datensatz mit dem Benutzer zurück. Und es wird ja auch in die Datenbank-Log-Tabelle von PAM reingeschrieben "AUTHENTICATION SUCCESS". Also müsste ja irgendetwas danach schief gehen... Meine Vermutung ist, dass irgendetwas mit "guest_username=ftpguest" in der Konfiguration nicht stimmt. Ich habe gelesen, dass man einen "Guest" für virtuelle Benutzer braucht, diesen angelegt, Homeverzeichnis erstellt und zugewiesen. In der /etc/passwd steht
ftpguest:x:5002:5002::/home/ftpguest:/bin/false
Braucht der eventuell ein spezielles Passwort oder so? Dazu konnte ich allerdings nichts finden...

Ich weiß wirklich nicht weiter.... hat da jemand einen Hinweis eventuell? Oder braucht ihr mehr Infos? Wäre jedenfalls schön, wenn ich beim VSFTPD bleiben könnte und nicht einen anderen benutzen muss weil ich zu doof dafür bin :(

Auf jedenfall vielen Dank im vorraus und erstmal noch einen angenehmen Freitag :)


Liebe Grüße,

Alexander
 
Last edited by a moderator:
Hi Forum,

nach langem verzweifelten rumprobieren und dem schon fast einen-anderen-Server benutzen habe ich es nun herausbekommen, jedenfalls glaube ich, dass das der Fehler war.
In der /etc/pam.d/vsftpd sollte man auf einem 64 Bit System "pam_mysql.so" durch "/lib64/security/pam_mysql.so" ersetzen. Ich meine, das war die Änderung, die den Kram ans laufen gebracht hat.

Trotzdem danke an euch und noch ein schönes Wochenende:):):)
 
Back
Top