# Debian 6 pureFtpd kein Login



## PierreR32 (28. Juli 2011)

Hallo, 

ich habe heute einen neuen Server installiert. 
Die Installation erfolgte nach dem Howto fürs Debian 6. 

Dies hat soweit funktioniert. 
Leider bekomme ich keine Login mit einem FTP User hin. 

Hier mal die syslog ...

```
Jul 28 15:59:50 vs01 pure-ftpd: (?@xxx.xxx.xxx.xxx) [INFO] New connection from xxx.xxx.xxx.xxx
Jul 28 15:59:50 vs01 pure-ftpd: (?@xxx.xxx.xxx.xxx) [ERROR] The SQL server seems to be down [Access denied for user 'root'@'localhost' (using password: YES)]
Jul 28 15:59:50 vs01 pure-ftpd: (?@xxx.xxx.xxx.xxx) [INFO] PAM_RHOST enabled. Getting the peer address
Jul 28 15:59:57 vs01 pure-ftpd: (?@xxx.xxx.xxx.xxx) [WARNING] Authentication failed for user [test-ftp]
Jul 28 15:59:57 vs01 pure-ftpd: (?@xxx.xxx.xxx.xxx) [INFO] Logout.
```
mit der Fehlermeldung und auch mal die auth.log

```
Jul 28 16:02:14 vs01 pure-ftpd: pam_unix(pure-ftpd:auth): check pass; user unknown
Jul 28 16:02:14 vs01 pure-ftpd: pam_unix(pure-ftpd:auth): authentication failure; logname= uid=0 euid=0 tty=pure-ftpd ruser=test-ftp rhost=
```
Danke für eure hilfe. 

gruß
Pierre


----------



## Till (28. Juli 2011)

Schalte mal das erweiterte Logging in pure-ftp an und poste was Du adnn erhältst:

How to enable verbose logging in pure-ftpd on Debian Linux « FAQforge


----------



## PierreR32 (28. Juli 2011)

Zitat von Till:


> Schalte mal das erweiterte Logging in pure-ftp an und poste was Du adnn erhältst:
> 
> How to enable verbose logging in pure-ftpd on Debian Linux « FAQforge


das bekomme ich nun raus. 


```
Jul 28 18:36:44 vs01 pure-ftpd: (?@?) [ERROR] Unable to start a standalone server: [Address already in use]
```
würde sagen das da der FTP irgendwo läuft was ich aber nicht ganz verstehe wieso ... 

Gruß


----------



## Till (28. Juli 2011)

Schau mal in die inetd.conf datei sowie in die Dateien im xinetd Verzeichnis, ob dort irgendwo pure-ftpd aktiviert ist. Es muss dort dekativiert und dann als Standalone Version gestartet werden, damit der Login funktioniert.


----------



## PierreR32 (28. Juli 2011)

die inet.conf habe ich schon 3 mal geprüft da war auch nie ein Eintrag wie beim Debian5 drin den man auskommentieren könnte. 

Ein xinetd DIR finde ich leider nicht. 
bzw. wo soll das auf dem Server liegen ? 

gruß


----------



## miglosch (28. Juli 2011)

Hi,
ein Freund hatte das gleiche Problem auf nem Testserver und wir sind nicht wirklich dahinter gekommen, woran es nun lag, dass pure-ftp nicht standalone starten wollte. ich hatte nur gesehen, dass in der /etc/fail2ban/filter.d/pureftpd.conf nichts drin war und dass der Server noch nicht den richtigen hostnamen ausgab.

Nach dem x-ten reboot hat der Server plötzlich den richtigen hostname und pure-ftp funktioniert nun auch tadellos...


----------



## PierreR32 (29. Juli 2011)

miglosch Danke ... 
 Das wars wirklich 
Reboot und es geht ... oh man manchmal ... 

Gruß


----------



## PierreR32 (29. Aug. 2011)

Hallo, 

so leider habe ich nun wieder so ein Problem bei einem neuen Server. 
Ich habe den nun schon gefühlte 1000 mal neugestartet und auch mal ein paar tage gewartet. 
Leider will ftp nicht. 

Da es ein MultiServer ist habe ich auch geprüft ob er die Änderungen auch schreibt, was er auch tut. 

Hier mal die Logs: 

Syslog


```
Aug 29 08:05:39 web2 pure-ftpd: (?@xxx.xxx.xxx.xxx) [DEBUG] Command [user] [001testftp]
Aug 29 08:05:39 web2 pure-ftpd: (?@xxx.xxx.xxx.xxx) [DEBUG] Command [pass] [<*>]
Aug 29 08:05:39 web2 pure-ftpd: (?@xxx.xxx.xxx.xxx) [ERROR] The SQL server seems to be down [Access denied for user 'root'@'localhost' (using password: YES)]
Aug 29 08:05:39 web2 pure-ftpd: (?@xxx.xxx.xxx.xxx) [INFO] PAM_RHOST enabled. Getting the peer address
Aug 29 08:05:46 web2 pure-ftpd: (?@xxx.xxx.xxx.xxx) [WARNING] Authentication failed for user [001testftp]
Aug 29 08:05:46 web2 pure-ftpd: (?@xxx.xxx.xxx.xxx) [INFO] Logout.
```
Auth.log


```
Aug 29 08:11:14 web2 pure-ftpd: pam_unix(pure-ftpd:auth): check pass; user unknown
Aug 29 08:11:14 web2 pure-ftpd: pam_unix(pure-ftpd:auth): authentication failure; logname= uid=0 euid=0 tty=pure-ftpd ruser=001testftp rhost=
```
Im Moment weiss ich echt nicht mehr weiter woran das liegen kann. 

Ich habe sogar das howto 3 mal gerpüft ob ich evtl. was vergessen habe. 
Für jeden Tip bin ich dankbar. 

Gruß
Pierre


----------



## Till (29. Aug. 2011)

Laut Fehlermeldung läuft der mysql nicht oder aber pure-ftpd kann nicht darauf zugreifen.

Checke also mal den mysql mit "netstat -tap" ob er auch wirklich auf localhost läuft und ob Du Dich mit den mysql Zugangsdaten in der pureftpd mysql Konfiguration bei mysql einloggen kannst.


----------



## PierreR32 (29. Aug. 2011)

So hier mal die Ausgabe von netap: 

```
tcp        0      0 *:sunrpc                *:*                     LISTEN      751/portmap
tcp        0      0 *:ftp                   *:*                     LISTEN      1890/pure-ftpd (SER
tcp        0      0 web2.xxxxxxxxxxxxxx.:domain *:*                     LISTEN      1120/named
tcp        0      0 localhost.locald:domain *:*                     LISTEN      1120/named
tcp        0      0 *:ssh                   *:*                     LISTEN      1928/sshd
tcp        0      0 *:smtp                  *:*                     LISTEN      2030/master
tcp        0      0 localhost.localdoma:953 *:*                     LISTEN      1120/named
tcp        0      0 *:43143                 *:*                     LISTEN      763/rpc.statd
tcp        0      0 localhost.localdo:10024 *:*                     LISTEN      1279/amavisd (maste
tcp        0      0 *:mysql                 *:*                     LISTEN      1776/mysqld
tcp        0      0 web2.xxxxxxxxxxxx.de:56285 kunde.xxxxxxxxx.de.:mysql TIME_WAIT   -
tcp        0      0 localhost.localdo:43652 localhost.localdoma:www TIME_WAIT   -
tcp        0      0 localhost.localdo:58668 localhost.localdoma:ftp TIME_WAIT   -
tcp        0     52 web2.xxxxxxxxxxxxx.de:ssh  212.223.151.54:14639    VERBUNDEN   2071/0
tcp6       0      0 [::]:pop3               [::]:*                  LISTEN      1468/couriertcpd
tcp6       0      0 [::]:imap2              [::]:*                  LISTEN      1438/couriertcpd
tcp6       0      0 [::]:www                [::]:*                  LISTEN      1299/apache2
tcp6       0      0 [::]:tproxy             [::]:*                  LISTEN      1299/apache2
tcp6       0      0 [::]:ftp                [::]:*                  LISTEN      1890/pure-ftpd (SER
tcp6       0      0 [::]:domain             [::]:*                  LISTEN      1120/named
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      1928/sshd
tcp6       0      0 ip6-localhost:953       [::]:*                  LISTEN      1120/named
tcp6       0      0 [::]:https              [::]:*                  LISTEN      1299/apache2
tcp6       0      0 [::]:imaps              [::]:*                  LISTEN      1456/couriertcpd
tcp6       0      0 [::]:pop3s              [::]:*                  LISTEN      1482/couriertcpd
```
die Datenbank anbindung für den pure finde ich unter /etc/pureftpd/db oder ? 
Weil da seht nicht das richtige drin, wenn es dort drin sein muss. 

Gruß
Pierre


----------



## Till (29. Aug. 2011)

Die Zugangsdaten stehen in /etc/pure-ftpd/db/mysql.conf. Wenn dort die falschen daten drin stshene, dann ändere sie, so dass sie identisch sind mit den lokalen Zugangsdaten (nicht denen vom master!) aus der datei /usr/local/ispconfig/server/lib/config.inc.php


----------



## PierreR32 (29. Aug. 2011)

So das bekomme ich nun in der syslog


```
Aug 29 11:38:11 web2 pure-ftpd: (?@xxxxxxxxx) [INFO] New connection from xxxxxxxxx
Aug 29 11:38:11 web2 pure-ftpd: (?@xxxxxxxxx) [DEBUG] Command [user] [001testftp]
Aug 29 11:38:11 web2 pure-ftpd: (?@xxxxxxxxx) [DEBUG] Command [pass] [<*>]
Aug 29 11:38:11 web2 pure-ftpd: (?@xxxxxxxxx) [INFO] PAM_RHOST enabled. Getting the peer address
Aug 29 11:38:16 web2 pure-ftpd: (?@xxxxxxxxx) [WARNING] Authentication failed for user [001testftp]
Aug 29 11:38:16 web2 pure-ftpd: (?@xxxxxxxxx) [INFO] Logout.
```
Ich habe auch mal die config mit einem anderen Server verglichen, der mit dem ich hier das anfängliche Problem hatte. 
Es scheint mir als hätte ispconfig nicht die mysql.conf geschrieben für den pureftpd. 
Ich habe mal die Variabelen mal händisch angepasst aber das scheint es auch nicht gewesen zu sein. 

gruß
Pierre


----------



## Till (29. Aug. 2011)

Es kann auch zu Authentifizierungsproblemen kommen, wenn der name des Clients nicht aufgelöst werden kann. Versuch mal das hier:

How to speed up logins in pure-ftpd on Debian or Ubuntu Linux by disable name resolving « FAQforge


----------



## PierreR32 (29. Aug. 2011)

Zitat von Till:


> Es kann auch zu Authentifizierungsproblemen kommen, wenn der name des Clients nicht aufgelöst werden kann. Versuch mal das hier:
> 
> How to speed up logins in pure-ftpd on Debian or Ubuntu Linux by disable name resolving « FAQforge


Ne das geht leider auch nicht  
Ich habe das schon mit 2 verschiedenen Verbindungen versucht. 
Ich bin hier direkt mit dem RZ verbunden wo der Server steht und nutze ja nur eine statische IP. 

Gruß
Pierre


----------



## Till (29. Aug. 2011)

Poste mal die mysql.conf Datei (ohne Passwort). Und überprüf dass der user 001testftp auch wirklich in der lokalen ispconfig mysql DB in der Tabelle ftp_user drin steht (nicht der master db).


----------



## PierreR32 (29. Aug. 2011)

Also den ftp User habe ich schon gleich am Anfang von dem Problem geprüft. 
In der Datenbank vom web2 steht zur Zeit nur ein FTP User drin und das ist der 00testftp. 

Hier die mysql.conf: 


```
##############################################
#                                            #
# Sample Pure-FTPd Mysql configuration file. #
# See README.MySQL for explanations.         #
#                                            #
##############################################


# Optional : MySQL server name or IP. Don't define this for unix sockets.

MYSQLServer     127.0.0.1


# Optional : MySQL port. Don't define this if a local unix socket is used.

# MYSQLPort       3306


# Optional : define the location of mysql.sock if the server runs on this host.

MYSQLSocket      /var/run/mysqld/mysqld.sock


# Mandatory : user to bind the server as.

MYSQLUser       ispconfig


# Mandatory : user password. You must have a password.

MYSQLPassword   ++++++++++++


# Mandatory : database to open.

MYSQLDatabase   dbispconfig


# Mandatory : how passwords are stored
# Valid values are : "cleartext", "crypt", "md5" and "password"
# ("password" = MySQL password() function)
# You can also use "any" to try "crypt", "md5" *and* "password"

MYSQLCrypt      crypt


# 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.
# \P is replaced by the port number the user connected to.
# \R is replaced by the IP address the user connected from.
# \D is replaced by the remote IP address, as a long decimal number.
#
# Very complex queries can be performed using these substitution strings,
# especially for virtual hosting.


# Query to execute in order to fetch the password

#MYSQLGetPW      SELECT Password FROM users WHERE User="\L"
MYSQLGetPW      SELECT password FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="\L"


# Query to execute in order to fetch the system user name or uid

#MYSQLGetUID     SELECT Uid FROM users WHERE User="\L"
MYSQLGetUID     SELECT uid FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="\L"

# Optional : default UID - if set this overrides MYSQLGetUID

#MYSQLDefaultUID 1000


# Query to execute in order to fetch the system user group or gid

#MYSQLGetGID     SELECT Gid FROM users WHERE User="\L"
MYSQLGetGID     SELECT gid FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="\L"

# Optional : default GID - if set this overrides MYSQLGetGID

#MYSQLDefaultGID 1000


# Query to execute in order to fetch the home directory

#MYSQLGetDir     SELECT Dir FROM users WHERE User="\L"
MYSQLGetDir     SELECT dir FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="\L"

# Optional : query to get the maximal number of files
# Pure-FTPd must have been compiled with virtual quotas support.

# MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE User="\L"
MySQLGetQTAFS  SELECT quota_files FROM ftp_user WHERE active = 'y' AND server_id = '1' AND quota_files != '-1' AND username="\L"


# Optional : query to get the maximal disk usage (virtual quotas)
# The number should be in Megabytes.
# Pure-FTPd must have been compiled with virtual quotas support.

# MySQLGetQTASZ  SELECT QuotaSize FROM users WHERE User="\L"

# Optional : ratios. The server has to be compiled with ratio support.

# MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="\L"
# MySQLGetRatioDL SELECT DLRatio FROM users WHERE User="\L"
MySQLGetRatioUL SELECT ul_ratio FROM ftp_user WHERE active = 'y' AND server_id = '1' AND ul_ratio != '-1' AND username="\L"
MySQLGetRatioDL SELECT dl_ratio FROM ftp_user WHERE active = 'y' AND server_id = '1' AND dl_ratio != '-1' AND username="\L"


# Optional : bandwidth throttling.
# The server has to be compiled with throttling support.
# Values are in KB/s .

# MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L"
# MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L"
MySQLGetBandwidthUL SELECT ul_bandwidth FROM ftp_user WHERE active = 'y' AND server_id = '1' AND ul_bandwidth != '-1' AND username="\L"
MySQLGetBandwidthDL SELECT dl_bandwidth FROM ftp_user WHERE active = 'y' AND server_id = '1' AND dl_bandwidth != '-1' AND username="\L"

# Enable ~ expansion. NEVER ENABLE THIS BLINDLY UNLESS :
# 1) You know what you are doing.
# 2) Real and virtual users match.

# MySQLForceTildeExpansion 1
# If you upgraded your tables to transactionnal tables (Gemini,
# BerkeleyDB, Innobase...), you can enable SQL transactions to
# avoid races. Leave this commented if you are using the
# traditionnal MyIsam databases or old (< 3.23.x) MySQL versions.

# MySQLTransactions On
```
Wie vorhin schon gesagt habe ich mal die Einstellungen zu den einzelnen Parametern manuel hinzugefügt. 

Gruß
Pierre


----------



## Till (29. Aug. 2011)

Und bei dem User in der DB ist die Spalte "active" auf 'y' gesetzt und die Spalte server_id auf 1?


----------



## PierreR32 (29. Aug. 2011)

Server_id steht auf 15 ... 
Der rest ist ok. 

Gruß
Pierre


----------



## Till (29. Aug. 2011)

Dann ändere es mal in der mysl.conf auch auf 15 überall dort, wo 1 steht.


----------



## PierreR32 (29. Aug. 2011)

ahhh Danke dir Till das wars. 
Ich frage mich nur wieso das nicht vom ispconfig erstellt wurde 

Weiss du vielleicht wo ich den Fehler gemacht habe ? 

Gruß
Pierre


----------



## Till (29. Aug. 2011)

Ist das denn ein mirrored server setup oder ein multiserver ohne mirroring? und welche ISPConfig Version verwendest Du?


----------



## PierreR32 (30. Aug. 2011)

Das ist nur ein Multiserver Setup. mit ISPConfig 3.0.3.2 bzw. 3.0.3.3. 

Aber ich habe nur das Problem das beim FTP der Chroot ned klappt ... 
werde echt irre 

Gruß
Pierre


----------



## Till (30. Aug. 2011)

Hast Du denn virtual chrooting in der Konfiguration des FTP clients aktiviert?


----------



## PierreR32 (30. Aug. 2011)

Zitat von Till:


> Hast Du denn virtual chrooting in der Konfiguration des FTP clients aktiviert?


Ja hab. 
Ich habe jetzt nochmal das Update gemacht und nun geht es ^^ 
Trotzdem Danke. 

Gruß
Pierre


----------

