Titel: Proftpd startet ohne Fehler, aber kein connect möglich Beitrag von: Lindwyrm am 21. Dezember 2006, 15:45:58 Huhu Zusammen,
ich habe ein Problem das sich ProFTP ohne Probleme und Fehlermeldung starten lässt, aber ich bekomme keine Verbindung auf dem Server Mein System: Code: Debian etch (frozen-version vom 18. Dezember 2006) Proftpd 1.3.0-18 MYSQL: 5.0.30-1 SysCP 1.2.15 Debian Etch Der Dienst startet einwandfrei Code: /etc/init.d/proftpd restart Stopping ftp server: proftpd. Starting ftp server: proftpd. Doch ich bekomme keine Verbindung Code: ftp localhost (Das gleiche für ftp "127.0.0.1:21", "ftp 127.0.0.1", "ftp gocore.de" und ftp "ftp.gocore.de")421 Service not available, remote server has closed connection und es sind keine Logeinträge im /var/log/proftpd/xxx.log enthalten. Es sind die Paktet Code: i proftpd v proftpd-common i A proftpd-mysql installiert. Unter der Ausgabe von "ps -ax" finde ich: Code: proftpd: (accepting connections) Unter der Ausgabe von "netstat -nlp" finde ich: Code: tcp6 0 0 :::21 :::* LISTEN 4036/proftpd: (acce Um den Debian-Bug zu umgehen habe ich zum ersten, laut der README des Debian-Paketes, die etc/hosts um Code: ::fff:127.0.0.1 localhost gocore erweitert und danach mit dem Schalter Code: UseIPv6 off in der proftpd die IPv6-Unterstützung für proftpd deaktiviert. Doch beides gab keine postive Auswirkung. Also nach meinem Verständnis müsst der proftpd-Deamon doch korrekt laufen, doch wieso bekomme ich keine Verbindung? Weder über das command ftp, noch über Webmail oder WSFTP Pro. Ich verzweifele ??? und weiss einfach nicht mehr weiter. Für Hilfe wäre ich euch echt dankbar. Hier meine proftpd.conf (MEINPASSWORT = mein Passwort für den mysql-user dbsyscp) User, Passwort und Datenbank habe ich noch mal geprüft und sind korrekt. Code: DisplayLogin welcome.msg DisplayFirstChdir .message ListOptions "-l" DenyFilter \*.*/ Port 21 MaxInstances 30 # Set the user and group that the server normally runs at. User nobody Group nogroup <Directory /*> # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 022 022 # Normally, we want files to be overwriteable. AllowOverwrite on </Directory> DefaultRoot ~ RequireValidShell off SQLAuthTypes Crypt Plaintext SQLAuthenticate users* groups* SQLConnectInfo _db_syscp@127.0.0.1 dbsyscp MEINPASSWORT SQLUserInfo ftp_users username password uid gid homedir shell SQLGroupInfo ftp_groups groupname gid members SQLUserWhereClause "login_enabled = 'y'" SQLLog PASS login SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_users SQLLog RETR download SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_users SQLLog STOR upload SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_users # Uncomment this if you would use TLS module: #TLSEngine on #TLSLog /var/log/ftp_tls.log #TLSProtocol SSLv23 #TLSOptions NoCertRequest #TLSRSACertificateFile /etc/ssl/certs/proftpd.cert.pem #TLSRSACertificateKeyFile /etc/ssl/certs/proftpd.key.pem #TLSVerifyClient off # Uncomment the following line to force tls-login #TLSRequired on #<Global> # chroot all users #DefaultRoot ~ # Reject rootlogin (just for security) #RootLogin off # No need to require valid shell, because user is virtual #RequireValidShell off #</Global> #<IfModule mod_delay.c> # DelayEngine off #</IfModule> Hier noch meine Ausgabe von proftpd -nd 5 Code: - mod_ctrls/0.9.4: binding ctrls socket to '/var/run/proftpd/proftpd.sock' - parsing '/etc/proftpd/proftpd.conf' configuration - parsing '/etc/proftpd/modules.conf' configuration - mod_tls/2.1.1: using OpenSSL 0.9.8c 05 Sep 2006 - <IfModule>: using 'mod_delay.c' section at line 32 - disabling runtime support for IPv6 connections - DenyFilter: compiling deny regex '\*.*/' - <Directory /*>: deferring resolution of path - SQLAuthenticate: use of * in SQLAuthenticate has been deprecated. Use AuthOrder for setting authoritativeness - SQLAuthenticate: use of * in SQLAuthenticate has been deprecated. Use AuthOrder for setting authoritativeness localhost - localhost - Config for gocore.de: localhost - /* localhost - Umask localhost - DirUmask localhost - AllowOverwrite localhost - ShowSymlinks localhost - DisplayLogin localhost - DisplayFirstChdir localhost - ListOptions localhost - DenyFilter localhost - RequireValidShell localhost - SQLAuthTypes localhost - SQLAuthenticate localhost - SQLConnectInfo localhost - SQLLog_PASS localhost - SQLNamedQuery_login localhost - SQLLog_RETR localhost - SQLNamedQuery_download localhost - SQLLog_STOR localhost - SQLNamedQuery_upload localhost - RootLogin localhost - TransferLog localhost - DelayEngine localhost - DeferWelcome localhost - DefaultServer localhost - ShowSymlinks localhost - AllowOverwrite localhost - TimeoutNoTransfer localhost - TimeoutStalled localhost - TimeoutIdle localhost - DisplayLogin localhost - DisplayFirstChdir localhost - ListOptions localhost - DenyFilter localhost - UserID localhost - UserName localhost - GroupID localhost - GroupName localhost - DefaultRoot localhost - RequireValidShell localhost - SQLAuthTypes localhost - SQLAuthenticate localhost - SQLConnectInfo localhost - SQLUserTable localhost - SQLUsernameField localhost - SQLPasswordField localhost - SQLUidField localhost - SQLGidField localhost - SQLHomedirField localhost - SQLShellField localhost - SQLGroupTable localhost - SQLGroupnameField localhost - SQLGroupGIDField localhost - SQLGroupMembersField localhost - SQLUserWhereClause localhost - SQLLog_PASS localhost - SQLNamedQuery_login localhost - SQLLog_RETR localhost - SQLNamedQuery_download localhost - SQLLog_STOR localhost - SQLNamedQuery_upload localhost - RootLogin localhost - TransferLog localhost - ExtendedLog localhost - mod_ctrls/0.9.4: binding ctrls socket to '/var/run/proftpd/proftpd.sock' localhost - ProFTPD 1.3.0 (stable) (built Thu Dec 14 16:35:10 CET 2006) standalone mode STARTUP Und meine /etc/hosts Code: 127.0.0.1 localhost gocore # The following lines are desirable for IPv6 capable hosts ::fff:127.0.0.1 localhost gocore ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts Titel: Re: Proftpd startet ohne Fehler, aber kein connect möglich Beitrag von: Lindwyrm am 21. Dezember 2006, 23:14:10 Huhu Zusammen,
ich bin ein ganzes Stück weitergekommen, naja ich konnte das Problem zumindest einkreisen, aber nicht lösen! in der Originalkonfig werden die Module über Include /etc/proftpd/modules.conf geladen. /etc/proftpd/modules.conf Code: # # This file is used to manage DSO modules and features. # # This is the directory where DSO modules resides ModulePath /usr/lib/proftpd # Allow only user root to load and unload modules, but allow everyone # to see which modules have been loaded ModuleControlsACLs insmod,rmmod allow user root ModuleControlsACLs lsmod allow user * #LoadModule mod_ctrls_admin.c LoadModule mod_tls.c LoadModule mod_sql.c LoadModule mod_ldap.c LoadModule mod_sql_mysql.c #LoadModule mod_sql_postgres.c LoadModule mod_quotatab.c LoadModule mod_quotatab_file.c LoadModule mod_quotatab_ldap.c LoadModule mod_quotatab_sql.c LoadModule mod_radius.c LoadModule mod_wrap.c LoadModule mod_rewrite.c # keep this module the last one LoadModule mod_ifsession.c <IfModule mod_delay.c> DelayEngine off </IfModule> Kommentiere ich die Module aus bzw. lasse das include weg, dann ist der FTP-Server erreichbar. Mit diesen Modulen bekomme ich wieder ein "421 Service not available, remote server has closed connection". Ich habe mal nachgesehen, die Module sind alle unter /usr/lib/proftpd vorhanden. Auch habe ich es über den Pfad /usr/lib64/proftpd (64bit-Version von etch) versucht, dort sind ebenfalls die Module vorhanden. Aber mit dem gleichen Ergebnis: ""421 Service not available, remote server has closed connection". Es half auch nichts alle Module bis auf "LoadModule mod_sql.c", welches ich ja zur Authentifizierung benötige, auszukommentieren. So langsam bin ich echt am verzeifeln *heul* Also lasse ich die Module weg, dann kann ich den FTP-Server erreichen und fragt mich nach den Zugangsdaten. Allerdings kann ich ja ohne das das laden von LoadModule mod_sql.c nicht auf die Zugangsdaten in der Datenbank zugreifen ??? Ich habe auch schon die Universelles Muster einer proftpd.conf von Volker Gass verwendet und die folgenden Zeilen nach der von syscp generierten Konfig angepasst. Code: # -------------------------------------------- # Authentifikation per SQL # -------------------------------------------- <IfModule mod_sql.c> AuthOrder mod_sql.c SQLConnectInfo _db_syscp@localhost dbsyscp MEINPASSWORT SQLUserInfo ftp_users username password uid gid homedir shell SQLGroupInfo ftp_groups groupname gid members SQLUserWhereClause "login_enabled = 'y'" SQLAuthTypes Crypt Plaintext SQLAuthenticate users* groups* SQLMinUserUID 1024 SQLMinUserGID 555 SQLNegativeCache on SQLLog PASS login SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_users SQLLog RETR download SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_users SQLLog STOR upload SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_users </IfModule> auch hier kann ich auf den FTP Zugreifen und werde nach den Zugangsdaten gefragt, doch ich bekomme immer ein Login Fail proftpd/auth.log Code: gocore.de [4704] ::ffff:127.0.0.1 [21/Dec/2006:19:52:16 +0100] "USER testuserFTP1" 331 gocore.de [4704] ::ffff:127.0.0.1 [21/Dec/2006:19:52:25 +0100] "PASS (hidden)" 530 Titel: Re: Proftpd startet ohne Fehler, aber kein connect möglich Beitrag von: VolGas am 22. Dezember 2006, 08:28:29 Hallo!
Zunächst möchte ich anmerken, daß ich es für sehr mutig finde, wenn jemand ein noch nicht freigegebenes Betriebssystem in der Testphase benutzt... Daß Du schon einmal ein Debug-Listing gepostet hast, ist ja ganz "nett", aber so vollkommen nutzlos. Bitte noch einmal, dann aber den Output von einem Login-Versuch hier posten. Alles was vorher aus- gegeben wird, bitte hier nicht noch einmal posten. Aber SQL-Fehler werden damit nicht angezeigt: überprüfe also bitte zunächst einmal mittels "SQLLogFile", ob nicht ein SQL-Fehler vorhanden ist. Die Datenmenge, die "SQLLogFile" erzeugt, ist immens und damit nur zu Testzwecken sinnvoll. Mit der Möglichkeit mit dem ProFTPD DSO-Module zu benutzen, habe ich keine Erfahrung. Aber ich kann mich erinnern, daß wir hier im Forum schon einmal jemanden hatten, der sich auch damit herumschlug. Scheint wohl doch noch nicht so ganz ausgereift zu sein!? Ach ja: "...use of * in SQLAuthenticate has been deprecated. Use AuthOrder..." - das hast Du mit meiner Beispielkonfiguration nun ja schon gemacht, nur die Sternchen bei "SQLAuthenticate" müssten noch entfernt werden... mfg. VolGas Titel: Re: Proftpd startet ohne Fehler, aber kein connect möglich Beitrag von: Lindwyrm am 22. Dezember 2006, 11:51:05 Vielen Dank für deine Antwort!
Code: Zunächst möchte ich anmerken, daß ich es für sehr mutig finde, wenn jemand ein noch nicht freigegebenes Betriebssystem in der Testphase benutzt... Tja, was soll ich sagen? Chef ist König, zudem studiert und ich nur gelernt :(. Ich selbst würde auch viel lieber auf Debian sarge setzten, zumal ich auf keinen unserer sarge-Server diese (und andere) Probleme hatte. Obwohl das zukünftige Release wohl schon eingefroren wurde und so gut wie alle Pakete als stable gekennzeichnet wurden, trudeln doch Tag täglich neue uprades ein. Auch für die "grossen" Pakete. Und die Patchnotes lesen sich stellenweise übel. Ich habe meinem "Meister" ja schon von den Problemen berichtet, doch er verwies nur auf die stable mark des proftpd-Paketes und meinte dafür müsse es eine Lösung geben. Juhu zumindest konnte ich jetzt endlich eine ordentliche Linux-Schulung heraushauen u.a mit dem Schwerpunkt proftpd ;D Zitat Aber SQL-Fehler werden damit nicht angezeigt: überprüfe also bitte zunächst einmal mittels "SQLLogFile", ob nicht ein SQL-Fehler vorhanden ist. Die Datenmenge, die "SQLLogFile" erzeugt, ist immens und damit nur zu Testzwecken sinnvoll. Ok ich habe SQLLogFile auskommentiert und das Logfile wurde auch angelegt, nur leider wird es nich immens gross sondern bleibt ziemlich leer ;) Habe mehrere Verbindungsversuche im Debugmodus sowie im normalen Betrieb ausgeführt. SQLLog bleibt stumm. Zitat Daß Du schon einmal ein Debug-Listing gepostet hast, ist ja ganz "nett", aber so vollkommen nutzlos. Bitte noch einmal, dann aber den Output von einem Login-Versuch hier posten. Alles was vorher aus- gegeben wird, bitte hier nicht noch einmal posten. Doing a hätte ich auch selbst drauf kommen können, sry. Hier die Ausgabe von "proftpd -nd 5" nach einem "ftp localhost" mit der Rückmeldung "421 Service not available, remote server has closed connection" Code: static.88-198-25-48.clients.your-server.de - ProFTPD 1.3.0 (stable) (built Thu Dec 14 16:35:10 CET 2006) standalone mode STARTUP static.88-198-25-48.clients.your-server.de (127.0.0.1[127.0.0.1]) - FTP session requested from unknown class static.88-198-25-48.clients.your-server.de (127.0.0.1[127.0.0.1]) - ProFTPD terminating (signal 11) static.88-198-25-48.clients.your-server.de (127.0.0.1[127.0.0.1]) - FTP session closed. static.88-198-25-48.clients.your-server.de - ProFTPD terminating (signal 2) Ich hoffe doch ein bisschen, das du damit mehr anfangen kannst. Zitat Ach ja: "...use of * in SQLAuthenticate has been deprecated. Use AuthOrder..." - das hast Du mit meiner Beispielkonfiguration nun ja schon gemacht, nur die Sternchen bei "SQLAuthenticate" müssten noch entfernt werden... Danke für den Hinweis, habe ich korrigiert. Gruss Lindi Titel: Re: Proftpd startet ohne Fehler, aber kein connect möglich Beitrag von: Lindwyrm am 22. Dezember 2006, 11:55:53 Nachtrag:
"proftpd -nd 9 gibt noch etwas mehr aus:" Code: static.88-198-25-48.clients.your-server.de - RELINQUISH PRIVS at main.c:1189 static.88-198-25-48.clients.your-server.de - no matching vhost found for 127.0.0.1#21, using DefaultServer 'gocore.de' static.88-198-25-48.clients.your-server.de (127.0.0.1[127.0.0.1]) - ROOT PRIVS at main.c:1034 static.88-198-25-48.clients.your-server.de (127.0.0.1[127.0.0.1]) - SETUP PRIVS at main.c:1039 static.88-198-25-48.clients.your-server.de (127.0.0.1[127.0.0.1]) - FTP session requested from unknown class static.88-198-25-48.clients.your-server.de (127.0.0.1[127.0.0.1]) - performing module session initializations static.88-198-25-48.clients.your-server.de (127.0.0.1[127.0.0.1]) - ROOT PRIVS at mod_sql.c:3809 static.88-198-25-48.clients.your-server.de (127.0.0.1[127.0.0.1]) - RELINQUISH PRIVS at mod_sql.c:3811 static.88-198-25-48.clients.your-server.de (127.0.0.1[127.0.0.1]) - ProFTPD terminating (signal 11) static.88-198-25-48.clients.your-server.de (127.0.0.1[127.0.0.1]) - FTP session closed. Titel: Re: Proftpd startet ohne Fehler, aber kein connect möglich Beitrag von: VolGas am 22. Dezember 2006, 12:46:00 Das ist eindeutig: "ProFTPD terminating (signal 11)" der ProFTPD ist Dir abgestürzt.
Das ist definitiv kein Konfigurationsfehler, sondern ein Installationsfehler - soviel zum Thema "stable"... Ein Studium ist gut: damit kann man theoretisch erklären, warum es praktisch nicht funktioniert hat. Wie ich mit Debian anfing, hatten mich die alten Klamotten darin damals genervt und ich habe mir dann die Software, die ich haben wollte, aus dem "testing"-Branch installiert. Und jedes mal, wenn ich dachte ich hätte jetzt die Maschine fertig, ist mir das System gänzlich (und für immer) zusammengebrochen - aber jedesmal an einer anderen Stelle! Im Rechenzentrum kennt man mich daher seit jener Zeit alleine schon an der Telefonnummer: bitte Reset und Systemimage neu aufspielen... Irgendwann hatte der Leiter des Rechenzentrums scheinbar Mitleid mit mir (oder einfach nur die Schnautze voll) und hat mir verraten, wie sie intern das Ganze selbst handhaben: Debian als Plattform ist ganz ok, aber die Software, mit der man arbeitet, kann man selbst compilieren und installieren. Das habe ich ausprobiert: die Software wird in der Version und in der Art und an den Ort compiliert und installiert, wie ich es brauche und möchte. Damit habe ich nicht irgend etwas universell funktionierendes, altes, sondern ein maßgeschneidertes, aktuelles System, das seit Jahren stabil läuft, ganz ohne Versions- konflikte mit dem System. Dafür muß ich eben aber auch selbst aufpassen, daß Sicherheitsupdates rechtzeitig installiert werden, aber das ist nicht weiter aufwendig und schwierig. Installationsbeispiele siehe ->hier (http://www.proftpd.de/forum/index.php/topic,1989.msg9444.html#msg9444) und ->hier (http://www.proftpd.de/forum/index.php/topic,2262.msg10578.html#msg10578), Erklärungen dazu ->da (http://www.proftpd.de/forum/index.php/topic,2185.msg10312.html#msg10312). An einem fertigen Softwarepaket, das abstürzt, sollte man IMHO nicht anfangen rumzufrickeln, es ist einfach nicht zu gebrauchen. Ich kann Dir nur empfehlen, wie in den o.g. Beispielen den ProFTPD selbst zu compilieren. Als stabile Plattform würde ich aber doch lieber "sarge" benutzen oder zumindest noch die paar Tage warten, bis "etch" als "final" (bzw. "stable") freigegeben wird... Fazit: tut mir leid, ich kann Dir speziell bei Deinem Problem nicht weiterhelfen. Das Dingens ist kaputt! Trotzdem noch schöne Feiertage! mfg. VolGas |