# Authentifizierung bei Pureftpd klappt nicht



## maen007 (20. Dez. 2012)

Hallo Leute, ich raffe nicht was da falsch läuft. Ich kann mich nicht authentifizieren. Erhalt mit filezilla immer folgendes:

_Antwort:    331 User duke OK. Password required
Befehl:    PASS **********
Antwort:    530 Login authentication failed_

System: Ubuntu 12.04, habe das how-to HowtoForge Linux Tutorials » Virtual Hosting mit PureFTPd und MySQL (Inkl. Quota- und Bandbreitenmanagement) unter Ubuntu 12.04

verwendet.

In der syslog mit Anwendung von verbose steht folgendes:

```
pure-ftpd: (?@88.68.83.187) [INFO] New connection from 88.68.83.187
pure-ftpd: (?@88.68.83.187) [DEBUG] Command [user] [duke]
pure-ftpd: (?@88.68.83.187) [DEBUG] Command [pass] [<*>]
pure-ftpd: (?@88.68.83.187) [INFO] PAM_RHOST enabled. Getting the peer address
pure-ftpd: (?@88.68.83.187) [WARNING] Authentication failed for user [duke]
pure-ftpd: (?@88.68.83.187) [INFO] Logout.
```
Auf mich wirkt es so, als ob der gar nicht mit der mysql arbeiten würde:

```
netstat -tap | grep ftp
tcp        0      0 *:ftp                   *:*                     LISTEN      11024/pure-ftpd (SE
tcp6       0      0 [::]:ftp                [::]:*                  LISTEN      11024/pure-ftpd (SE
```
Wenn  ich den pureftp Server neu starte erhalte ich folgendes:

```
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -E -H -u 1000 -j -O clf:/var/log/pure-ftpd/transfer.log -d -8 UTF-8 -A -B
```
Weiß da einer was da falsch laufen könnte???

Vielen Dank vorab,

maen


----------



## Till (20. Dez. 2012)

Gibt es vielleicht auch einen Linux Systemuser "duke" in /etc/passwd? Dann kann es sein dass pure-ftpd versucht sich gegen /etc/shadow und nicht die mysql DB zu authentifizieren.


----------



## maen007 (20. Dez. 2012)

*Nope*

duke war frisch, habe aber zur Sicherheit noch einen hamma angelegt. Mal was anderes zudem: Muss die UID sich eigentlich jeweils um 1 erhöhen?


----------



## Till (20. Dez. 2012)

Die uid muss mit der uid eines existierenden Linux Users übereinstimmen, Du kannst sie also nicht frei wählen. Sie muss daher auch nicht erhöht werden.


----------



## maen007 (20. Dez. 2012)

*Schade...*

hatte gehofft dass da der Fehler liegt


----------



## maen007 (20. Dez. 2012)

*verbose*

Kann ich irgendwo einstellen, dass der mir ausgibt was an der Authentifizierung nicht geklappt hat??? Soll ich evtl die DB auf ein bestimmtes format einstellen (UTF-8) und LATIN-1 schon ausprobiert? Hat das Ding vielleicht Probleme mit dem MD5? Er scheint ja den User zu sehen. Der PW Prozes dauert dann ewig und lehnt dann ab.


----------



## maen007 (20. Dez. 2012)

*Ich verstehe die Konf auch nicht!*

Bspw.: 
In der von dir gezeigten Konf steht folgendes:


```
MYSQLGetPW SELECT Password FROM ftpd WHERE User="L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")
```
Schau ich mir die Originaldeklaration an, so steht da das hier:

```
# In the following directives, parts of the strings are replaced at
# run-time before performing queries :
#
# \L is replaced by the login of the user trying to authenticate.

MYSQLGetPW      SELECT Password FROM users WHERE User='\L'
```
Dazu folgende Frage: Wird der Ersatz zur Laufzeit bei Dir tatsächlich ausgeführt?


----------



## maen007 (20. Dez. 2012)

*OK*

... und genau das ist auch der Fehler! Ersetze in deiner Conf L und R mit der entsprechenden Eingaben, und das ganze läuft rund! 

Wundert mich das hier so anscheinende jeder außer mir das auf die Reihe bekommen hat.

Trotzdem Danke für das Tutorial! Du könntest es noch etwas erweitern wenn due einen link auf /var/www einführst oder so.


----------

