Debian 6 pureFtpd kein Login

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von PierreR32, 28. Juli 2011.

  1. PierreR32

    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
     
  2. Till

    Till Administrator

  3. PierreR32

    PierreR32 Member

    das bekomme ich nun raus.

    Code:
    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ß
     
  4. Till

    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.
     
  5. PierreR32

    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ß
     
  6. miglosch

    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...
     
  7. PierreR32

    PierreR32 Member

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

    Gruß
     
  8. PierreR32

    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
     
  9. Till

    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.
     
  10. PierreR32

    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
     
  11. Till

    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
     
  12. PierreR32

    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
     
  13. Till

    Till Administrator

  14. PierreR32

    PierreR32 Member

    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
     
  15. Till

    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).
     
  16. PierreR32

    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
     
  17. Till

    Till Administrator

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

    PierreR32 Member

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

    Gruß
    Pierre
     
  19. Till

    Till Administrator

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

    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
     

Diese Seite empfehlen