Debian 6 pureFtpd kein Login

PierreR32

Member
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 ...
Code:
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
Code:
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
 

PierreR32

Member

Till

Administrator
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

Member
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

New Member
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

Member
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

Code:
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

Code:
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

Administrator
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

Member
So hier mal die Ausgabe von netap:
Code:
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

Administrator
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

Member
So das bekomme ich nun in der syslog

Code:
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
 

PierreR32

Member
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

Administrator
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

Member
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:

Code:
##############################################
#                                            #
# 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

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

PierreR32

Member
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
 

Werbung

Top