[HOWTO] Pure-FTPD mit Usern in Mysql und Quotas auf Debian Etch

Also ich kann jetzt den FTP Server ordentlich starten und stoppen.

Leider kommt beim Anmeldeversuch immer noch der Fehler 530: Login authentication failed.

Selbst wenn ich das Passwort leerlasse, oder im Klartext eingebe klappts nicht.

Ich befürchte, dass der Server irgendwoher falsche Startparameter bekommt. Wo ist denn zum Beispiel konfiguriert, dass er beim Aufruf von "/etc/init.d/pure-ftpd-mysql start" diesen Befehl ausführt: "/usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -u 1000 -O clf:/var/log/pure-ftpd/transfer.log -A -j -E -B"?
 
Das ist nichts anderes wie der Startbefehl für den pure-ftpd.

Mit dem Startscript
Code:
/etc/init.d/pure-ftpd-mysql start
rufst du ja nur ein Skript auf, welches unter
Code:
/etc/pure-ftpd
nachsieht, welche Konfigurationen eingestellt sind. Dieses Skript führt dann den eigentlichen Startbefehl mit den entsprechenden Option aus den Konfigfiles aus. Dieser ist dann bei dir beispielsweise
Code:
/usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -u 1000 -O clf:/var/log/pure-ftpd/transfer.log -A -j -E -B
 
Wie kann es dann trotzdem noch sein, dass er die Anmeldung verweigert? Irgendwie gehen mir langsam die Ideen aus.
Kann ich irgendwie anders testen, ob der FTP-Server funktioniert bzw. welche Logindaten er haben will?
 
in /var/log/messages steht:
Code:
Oct 28 12:02:48 ptkweb pure-ftpd: (?@192.168.150.2) [INFO] New connection from 192.168.150.2
Oct 28 12:02:48 ptkweb pure-ftpd: (?@192.168.150.2) [INFO] PAM_RHOST enabled. Getting the peer address
Oct 28 12:02:50 ptkweb pure-ftpd: (?@192.168.150.2) [WARNING] Authentication failed for user [ansi]
Oct 28 12:02:53 ptkweb pure-ftpd: (?@192.168.150.2) [INFO] Logout.
Also auch nicht sehr aufschlussreich. Sonst kann ich nichts finden.

edit:
unter /var/log/auth.log steht

Code:
Nov 10 09:06:15 ptkweb pure-ftpd: pam_unix_auth(pure-ftpd:auth): check pass; user unknown
Nov 10 09:06:15 ptkweb pure-ftpd: pam_unix_auth(pure-ftpd:auth): authentication failure; logname= uid=0 euid=0 tty=pure-ftpd ruser=ansi rhost=

und hier /var/log/syslog hab ich noch folgendes gefunden:

Code:
Nov 10 09:06:10 ptkweb pure-ftpd: (?@192.168.150.2) [INFO] New connection from 192.168.150.2
Nov 10 09:06:10 ptkweb pure-ftpd: (?@192.168.150.2) [ERROR] The SQL server seems to be down [Access denied for user 'ftpuser'@'localhost' (using password: YES)]
Nov 10 09:06:10 ptkweb pure-ftpd: (?@192.168.150.2) [INFO] PAM_RHOST enabled. Getting the peer address
Nov 10 09:06:17 ptkweb pure-ftpd: (?@192.168.150.2) [WARNING] Authentication failed for user [ansi]
Nov 10 09:06:21 ptkweb pure-ftpd: (?@192.168.150.2) [INFO] Logout.

Mit welchem User hat er nun ein Problem mit dem virtuellen (ansi) oder dem System-FTP-User?
 
Last edited by a moderator:
Als erstes sieht es mal so aus, als könnte der FTP-Server keine Verbindung zur Datenbank herstellen, und deshalb auch nicht den virtuellen User auslesen. Versuch dich mal mit den Userdaten für die Datenbank, die du in den Konfigs vom FTP stehen hast, direkt bei der Datenbank anzumelden. Wenn das nicht funktioniert, sind wohl die Userdaten falsch.
 
Guten Tag,

erstmal vielen Dank für das HowTo. Damit habe ich es endlich geschafft, den pure-ftp ans Laufen zu bekommen.
Code:
Starting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -u 1000 -O clf:/var/log/pure-ftpd/transfer.log -E -j -A -B

Jetzt versuche ich, wie beschrieben, den Testuser anzulegen, aber da bekomme ich mit phpmyadmin und auf der Konsole den Fehler:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''ftpd' ('user', 'status', 'password', 'uid', 'gid', 'dir', 'ulbandwidth', 'dlban' at line 1

Kann mir da bitte jemand weiterhelfen?

Vielen Dank

Gruß
Balandine
 
Wie sieht denn Dein Query genau aus?
INSERT INTO 'ftpd' ('user', 'status', 'password', 'uid', 'gid', 'dir', 'ulbandwidth', 'dlbandwidth', 'comment', 'ipaccess', 'quotasize', 'quotafiles') VALUES ('testuser', '1', MD5('geheimespasswort'), '2001', '2001', '/home/ftp/testdir', '100', '100', 'Testuser', '*', '50', '0');

Gruß
Balandine
 
Probiere mal:
Code:
INSERT INTO ftpd (user, status, password, uid, gid, dir, ulbandwidth, dlbandwidth, comment, ipaccess, quotasize, quotafiles) VALUES ('testuser', '1', MD5('geheimespasswort'), '2001', '2001', '/home/ftp/testdir', '100', '100', 'Testuser', '*', '50', '0');
 
Versteh' einer die Welt.

Den Testuser anlegen mit
Code:
INSERT INTO 'ftpd' ('user', 'status', 'password', 'uid', 'gid', 'dir', 'ulbandwidth', 'dlbandwidth', 'comment', 'ipaccess', 'quotasize', 'quotafiles') VALUES ('testuser', '1', MD5('geheimespasswort'), '2001', '2001', '/home/ftp/testdir', '100', '100', 'Testuser', '*', '50', '0')

bringt den Fehler:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''ftpd'[...]

Probiere mal:
Code:
INSERT INTO ftpd (user, status, password, uid, gid, dir, ulbandwidth, dlbandwidth, comment, ipaccess, quotasize, quotafiles) VALUES ('testuser', '1', MD5('geheimespasswort'), '2001', '2001', '/home/ftp/testdir', '100', '100', 'Testuser', '*', '50', '0');

Damit funktioniert es perfekt :-) *jubel* Ich liebe Dich, Mordor :-)

~# cat /var/log/syslog | grep pure
~# Dec 21 20:48:12 xxx pure-ftpd: (?@xxx.dip0.t-ipconnect.de) [INFO] Testuser is now logged in

| version | 5.0.51a-24+lenny2 |

Vielen, vielen Dank

Gruß
Balandine
 
probleme ;(

hi,

bin am verzweifeln das tut hab ich genau so gemacht wie hier beschrieben - dennoch es scheitert an einigen Punkten.

Hier meine toplist des -> ich schaffs nicht:

2.
Starten funkt ja mal:
debian:~# /etc/init.d/pure-ftpd-mysql start
Starting ftp server: Running: /usr/sbin/pure-ftpd-mysql -l mysql:/etc/pure-ftpddb/mysql.conf -l pam -O clf:/var/log/pure-ftpd/transfer.log -u 1000 -k 50 -C 5 j -E -A -c 50 -B
passt ja oder?

3. Ausgabe von fehlern:
cat /var/log/syslog | grep pure
Dec 22 14:25:10 debian pure-ftpd: (?@?) [ERROR] Unable to find the 'ftp' account
Dec 22 14:25:10 debian pure-ftpd: (?@?) [ERROR] Unable to start a standalone server: [Invalid argument]
Dec 22 14:58:05 debian pure-ftpd: (?@192.168.7.15) [INFO] New connection from 192.168.1.5
Dec 22 14:58:05 debian pure-ftpd: (?@192.168.7.15) [INFO] PAM_RHOST enabled. Getting the peer address
Dec 22 14:58:12 debian pure-ftpd: (?@192.168.7.15) [WARNING] Authentication failed for user [web1]


4. Fehler - Login faild?
web1 in /var/ww/ -> sollte dann ja /var/www/web1 werden komm kurz rein dann bricht er ab mit Error 530 Authentication failed zw. genauer das hier
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 17:21. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
USER web1
331 User web1 OK. Password required
PASS (password not shown)
530 Login authentication failed
Unable to make a connection. Please try again.

;((( Bin am verzweifeln ;((
 
Last edited by a moderator:
mysql log

hi,

im mysql log sieht ja alles klar aus oder?

Code:
091223 13:17:39	     47 Connect     pureftpd@localhost on pureftpd
		     47 Query       SELECT password FROM ftpd WHERE user="web3" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "192.168.1.5")
		     47 Query       SELECT uid FROM ftpd WHERE user="web3" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "192.168.1.5")
		     47 Query       SELECT gid FROM ftpd WHERE user="web3"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "192.168.1.5")
		     47 Query       SELECT dir FROM ftpd WHERE user="web3"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "192.168.1.5")
		     47 Query       SELECT quotafiles FROM ftpd WHERE user="web3"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "192.168.1.5")
		     47 Query       SELECT quotasize FROM ftpd WHERE user="web3"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "192.168.1.5")
		     47 Query       SELECT ulbandwidth FROM ftpd WHERE user="web3"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "192.168.1.5")
		     47 Query       SELECT dlbandwidth FROM ftpd WHERE user="web3"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "192.168.1.5")


Edit:
Nun funkt alles problem nur der ordner kann nicht erstellt werden:
Der user /var/kunden hat nun chmod 0777 darin sollte dann z.b /web3/ erstellt werden - das passiert auch nur hat er zu wenig rechte ;((( wie ändere ich die rechte auf 0775 -> damit der user das auch via http aufrufen kann?
 
Last edited by a moderator:
alone in the ftp ;)

hi,

danke habs auch ohne eure hilfe hinbekommen - nur solltest du das auch in deinem tutorial erwähnen dort steht davon genau 0.
 
Hab zwar alles nach anleitung gemacht, aber es kommt wie immer der Fehler:

Code:
Befehl:	PASS ******
Antwort:	530 Login authentication failed
Fehler:	Kritischer Fehler
Fehler:	Herstellen der Verbindung zum Server fehlgeschlagen

Beim Starte vom FTP Server wird mir folgendes angezeigt:
Code:
Starting ftp server: Running: /usr/sbin/pure-ftpd-mysql -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -j -E -O clf:/var/log/pure-ftpd/transfer.log -u 1000 -B
 
Irgendwas mit deiner Authentifizierung funktioniert nicht. Entweder kann er die Passwörter aus der Datenbank nicht lesen, oder er kann überhaupt keine Verbindung zu ihr herstellen. Was steht denn so unter messages oder syslog?
 
Hallo Mordor,

ich möchte mich bei dir für das Tutorial bedanken, hat 1a ohne Probleme funktioniert :-)

Gruß
 
Back
Top