Pure-FTPD mit MySQL Unterstützung macht Probleme

H3llGhost

Registered User
Hallo Leute,

erstmal ein schönes neues Jahr.

Ich habe über Nacht den FTP-Dämon Pure-FTPD nach folgenden HowTo aufgesetzt.
Klick

Beim Verbinden zum Server kommt folgender Fehler:
/usr/sbin/pure-ftpd-wrapper: Cannot exec /usr/sbin/pure-ftpd: No such file or directory at /usr/sbin/pure-ftpd-wrapper line 174.

Habt ihr eine Idee woran das liegen kann?
Danke im Vorraus!
 
Hallo,

Laut deiner Fehlermeldung existiert:
Code:
/usr/sbin/pure-ftpd
nicht. Überprüfe mal wo pure-ftpd wirklich auf deinem Server liegt und passe die Konfiguration für den wrapper nocheinmal neu an. Ggf. muss du auch den Wrapper neu kompilieren.
 
Das habe ich darauf hin auch kontrolliert.
pure-ftpd gibt es nicht.
Wenn ich den über apt-get install pure-ftpd nachinstalliere kommt es bei der Installation zu einem Fehler:

Unpacking pure-ftpd (from .../pure-ftpd_1.0.21-8_i386.deb) ...
Setting up pure-ftpd (1.0.21-8) ...
Starting ftp server: Running: /usr/sbin/pure-ftpd -l pam -u 1000 -E -A -j -O clf:/var/log/pure-ftpd/transfer.log -B
invoke-rc.d: initscript pure-ftpd, action "start" failed.
dpkg: error processing pure-ftpd (--configure):
subprocess post-installation script returned error exit status 252
Errors were encountered while processing:
pure-ftpd
E: Sub-process /usr/bin/dpkg returned an error code (1)

Wenn ich dann über /etc/init.d/pure-ftpd-mysql auf das init.d zuzugreifen kommt einfach nichts mehr.
Sprich ich kann start, status, stop eingeben keine Reaktion und wenn ich das alleine angebe kommt auch keine Rückmeldung mehr.
Habt ihr eine Idee?

EDIT:
Ich habe hier einen Link gefunden, aber ich habe ehrlich gesagt von der Thematik nicht so die Ahnung, dass ich da alles einfach ohne nach zu denken ausprobieren möchte.

Klick

Was haltet ihr von der Idee?
Dazu brauche ich ja das Tool vzctl. Soll ich das installieren?
 
Last edited by a moderator:
Das was da in dem Howto beschrieben ist, ist das Problem in einem vServer. vzctl ist ein Tool für Open-VZ eine vServer umgebung. Das wirst du für deine Instalation nicht benötigen.

Lief denn der Pure überhautp schon mal?
Hast du schon mal probiert die Konfigurationsdateien zu sichern, und den Pure über
Code:
apt-get remove pure-ftpd-mysql
zu deinstallieren, und ihn dir dann wieder über apt-get zu ziehen?
 
Ist es denn überhaupt möglich auf einem vServer das zum Laufen zu bekommen?
Achso ... Verstehe ... ;)

Ja ich hatte ihn am Laufen.
Nur beim Connecten auf den Server kam halt das Problem aus dem 1. Post.
Ich habe das schon mehrmals neu installiert, leider ohne Erfolg.
Ich hatte auch mal alle Configs und so gelöscht, sprich die Ordner /etc/pure-ftpd/*.
Ohne Erfolg.
 
Über was verbindest du dich denn mit dem Server?
Hat ein Test über telnet auch nicht funktioniert?
 
Im Test habe ich FireFTP für Firefox benutzt.
Die Idee mit Telnet kam mir noch garnicht.
Das werde ich gleich probieren.
Danke!
 
Ach ja, und dann wären noch die Meldungen aus den kompletten FTP-Logfiles zum Zeitpunkt der Verbindung interessant.
 
Also leider muss ich jetzt feststellen, dass ich wohl zu viel gespielt habe.
Beim Starten des FTP kommt nur noch folgendes:

Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql -A -j -B

Im Verzeichnis /var/log/pure-ftpd lässt sich nichts finden.
Dort sind keine Dateien angelegt.
 
Dann musst du die Datei per Hand und den dementsprechenden Rechten selbst anlegen. Ausserdem musst du dann in den Config-Files des Pures nachsehen, wie diese heißen soll. So weit ich weiß, schreibt der FTP-Server aber auch Meldungen in syslog. Zumindest macht er das bei mir.

Mit
Code:
cat /var/log/syslog | grep pure
müsstest du eigentlich eine Ausgabe aller FTP-Logs sehen.

Wobei ich mir an deiner stelle echt überlegen würde das ganze mit
Code:
apt-get --purge remove pure-ftpd-mysql
zu deinstallieren, und nochmals von Forne anzufangen.

Alternativ wäre mal interessant, was du jetzt alles verändert hast, wie deine Config-Files aussehen, und wie deine Datenbank aussieht. Dann könnte man auch etwas weiter helfen.

Hast du eigentlich das Startskript verändert? Oder die Configs? Denn da sind viel zu wenig Optionen beim Start angegeben.
 
Die liebe Syslog hat folgendes ausgegeben:

Dec 31 22:56:20 server pure-ftpd: (?@?) [ERROR] Unable to switch capabilities : Operation not permitted
Jan 1 00:01:28 server pure-ftpd-wrapper[16098]: connect from 123.123.211.107 (123.123.211.107)
Jan 1 01:55:52 server pure-ftpd-wrapper[1346]: connect from 123.123.145.119 (123.123.145.119)
Jan 1 01:57:32 server pure-ftpd-wrapper[2038]: connect from 123.123.145.119 (123.123.145.119)
Jan 1 11:51:43 server pure-ftpd-wrapper[26313]: connect from 123.123.81.179 (123.123.81.179)
Jan 1 12:43:54 server pure-ftpd-wrapper[27710]: connect from 123.123.81.179 (123.123.81.179)
Jan 1 15:14:12 server pure-ftpd-wrapper[5742]: connect from 123.123.255.238 (123.123.255.238)
Jan 1 15:16:16 server pure-ftpd: (?@?) [ERROR] Unable to switch capabilities : Operation not permitted
Jan 1 15:16:40 server pure-ftpd-wrapper[7618]: connect from 123.123.255.238 (123.123.255.238)
Jan 1 15:16:40 server pure-ftpd: (?@?) [ERROR] Unable to switch capabilities : Operation not permitted
Jan 1 15:17:16 server pure-ftpd: (?@?) [ERROR] Unable to switch capabilities : Operation not permitted
Jan 1 15:17:26 server pure-ftpd-wrapper[9379]: connect from 123.123.255.238 (123.123.255.238)
Jan 1 15:17:26 server pure-ftpd: (?@?) [ERROR] Unable to switch capabilities : Operation not permitted
Jan 1 15:27:59 server pure-ftpd-wrapper[16170]: connect from 123.123.255.238 (123.123.255.238)

Ja das zu wenige Startparameter übergeben habe ich mir auch schon gedacht.
Ich hatte vor einer Neuinstallion des Servers an der Startconfig gespielt, da er ja immer gemeckert hat, dass der Aufruf von line xxx nicht das richtige aufruft.
Aber ich habe jeweils immer eine Sicherungskopie angelegt.
Naja jetzt installiere ich mal alles neu ... ;)

EDIT:
So habe nun deinen Befehl zum Löschen benutzt.
Das hat ohne Probleme funktioniert, dann wieder mit der Installation begonnen und siehe da ein Fehler.

Starting ftp server: Running: /usr/sbin/pure-ftpd-mysql -l mysql:/etc/pure-ftpd/db/mysql.conf -A -j -B
invoke-rc.d: initscript pure-ftpd-mysql, action "start" failed.
dpkg: error processing pure-ftpd-mysql (--configure):
subprocess post-installation script returned error exit status 252
Errors were encountered while processing:
pure-ftpd-mysql
E: Sub-process /usr/bin/dpkg returned an error code (1)

Die syslog gibt dazu folgendes aus:
Jan 3 05:26:48 server pure-ftpd: (?@?) [ERROR] Unable to switch capabilities : Operation not permitted

Hast du eine Idee woran das liegen kann?

Wenn ich aber Restart und die Parameter Start/Stop benutze führt er alles ohne Probleme aus.
Also weiter gehts ... ;)

EDIT2:
Die übergebenen Startparameter entsprechen noch nicht der Vorstellung. Wir sind jetzt bei folgenden angekommen:
Starting ftp server: Running: /usr/sbin/pure-ftpd-mysql -l mysql:/etc/pure-ftpd/db/mysql.conf -A -j -B

Eine Idee woran das liegen kann?
 
Last edited by a moderator:
Kann es sein, dass du den Pure-ftpd auf einem vServer installieren möchtest?

Wenn ja, dann ist dieser Fehler ziemlich normal, da von vornherein die Capabilitys in den VPS abgeschaltet sind. Du hast jetzt mehrere Möglichkeiten:

1. Du compilierst Pure-ftpd mit der Direktive --without-capability

2. Wenn du Zugriff auf das Hostsystem hast, könnte dir der Thread hier weiter helfen:

3. Du Kontaktierst den Support deines Providers wegen dem Problem.

Wenn du einen richtigen Root-Server hast, müssen wir das Problem noch mal genauer unter die Lupe nehmen.
 
Ja das habe ich vor.
Hmm ...
Ich denke dann wird wohl das Einfachste das Neukompilieren mit deiner angebenen Direktive sein, obwohl ich noch nicht wirklich die Ahnung von der Materie habe ...

EDIT:
Desweiteren habe ich einen schönen Link gefunden:
Klick
Dieser weißt mich darauf hin, wie dein anderer Link von dir Mordor, dass ich modprobe capability benutzen sollte, was mein VServer mit folgendem quittiert:
modprobe: Can't open dependencies file /lib/modules/2.6.18-028stab059.5/modules.dep (No such file or directory)

EDIT2:
Ich habe jetzt einen alten Thread von dir ausgegraben Mordor wo ähnliches Problem mit pure-ftpd-mysql vorliegt.
Ich halte mich mal da dran ... :)
Klick

EDIT3:
Leider scheiter ich mit meinen Server jetzt bei dem Befehl "apt-get source pure-ftpd".
Er quittiert mir das mit folgender Fehlermeldung:
E: You must put some 'source' URIs in your sources.list

Ich habe schon danach gegoogelt, aber nciht wirklich Hilfe gefunden.
Hast du eventuell eine Idee?

EDIT4:
Nach weiterem gegoogle habe ich eine Seite gefunden, die empfohlen hat die sources.list mit folgendem zu erweitern:
deb-src http://http.us.debian.org/debian stable main contrib non-free
Danach funktioniert auf apt-get source.
Und weiter gehts ... ;)

EDIT5:
Juhu es läuft.
Ich kann mit connecten und alles.
Aber die Startparameter sind noch nicht deinem HOWTO entsprechend.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql -l mysql:/etc/pure-ftpd/db/mysql.conf -A -j -B
Bis jetzt schreibt er alles in die Syslog.
Ich weiß nicht ob das so gewollt war.

Desweiteren treten in der syslog folgende Warnungen auf:
Jan 3 17:47:13 server pure-ftpd: (?@host-123-123-190-194.backbone.de) [WARNING] Wrong SQL parameters : [SELECT quotefiles FROM ftpd WHERE user="testuser"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "123.123.190.194")]


Wenn es gewünscht ist kann ich dein HOWTO noch für VServer anpassen.
Was meinste? ;)
 
Last edited by a moderator:
Das du das Kernelmodul nicht nachladen kannst ist bei einem Viruozzo System ziemlich normal, da du hier keine Kernelmodule selbst nachladen kannst. Das kann man nur auf dem Hostsystem machen.

Zu deinen Startparametern:
Der Pure-Ftpd sollte eigentlich so laufen. Die Startparameter, die bei mir noch mit drin stehen solltest du eigentlich nicht benötigen, denn hir handelt es sich dann nur noch um die pam-Authentifizierung und das zugehörige Logfile, dass man zum Loggen der Daten angeben kann. Das kannst du optional noch machen. Was daran falsch sein könnte, kann ich dir erst sagen, wenn du mir deine Config-Files mal zeigst.

Die SQL-Fehlermeldung kommt dann, wenn man sich mit einem falschen User einloggen möchte. Da stimmt also irgendwas noch nicht. War der User den du angegeben hast, wirklich in der Datenbank? Wenn ja, wären hier auch mal die Reche die der Pure-FTPD User für die Mysql Datenbank hat interessant.

Und klar, es ist nie verkehrt, wenn man das Howto noch anpasst. Mach das doch einfach, und setz es unter das bestehende Howto, dann kann man beim ersten Post auf das untere Howto verweisen.
 
Habe ich mir schon gedacht.
Aber das Work-Around mit --without-capabilities läuft ja super. ;)

Zum SQL-Fehler:
Du hast in deiner mysql.conf einen kleinen Tippfehler. Bei dir steht folgendes drin:
MySQLGetQTAFS SELECT quotefiles FROM ftpd WHERE user="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

Und das hier muss rein:
MySQLGetQTAFS SELECT quotafiles FROM ftpd WHERE user="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

Sprich das quotefiles muss in quotafiles geändert werden.

In deinem HOWTO ist noch ein kleiner Fehler drin ... ;)
Du hast gesagt man soll diese Datei anpassen:
/etc/dafault/pure-ftpd-common

Ersetz doch bitte das "a" bei dem Wort dafault mit einem "e" an ... ;)

Wegen den Configdateien, da weiß ich ehrlich gesagt nicht welche ich posten soll, da wir ja den Fehler mit der SQL-Warnung durch eine Änderung in der mysql.conf behoben haben.
Die Dateien im Verzeichnis /etc/pure-ftpd/conf sind folgende:
-ChrootEveryone
-CreateHomeDir
-MySQLConfigFile

Also ich habe im Moment ehrlich gesagt keine Ahnung, welche ich dir posten soll ... ;)

Zu dem HOWTO, darum kümmer ich mich dann, wenn wir alles vollständig haben ... ;)
 
Da fällt mir auf jeden Fall noch eine Wichtige Sache auf:

Du solltest noch den Anonymous Account verbieten. Das heißt, dass sich auf keinen Fall jemand anonym anmelden kann. Das machst du mit dem Befehl:
Code:
echo “yes” > /etc/pure-ftpd/conf/NoAnonymous
Ausserdem kannst du noch ein Logfile angeben, in das der Pure explizit loggen soll. Normalerweise wird das aber nicht benötigt, da der Pure ja schön brav in Syslog seinen Daten schreibt. Solltest du das aber noch möchten, dann musst du zuerst mit
Code:
echo "stats:/var/log/pure-ftpd/transfer.log" > /etc/pure-ftpd/conf/AltLog
Diese Datei erstellen, und mit
Code:
touch /var/log/pure-ftpd/transfer.log
das Logfile erstellen. Dann musst du nur noch den Logrotate entsprechend konfigurieren. Ich werde das im Howto mal anpassen.

Ansonsten sollte der Pure jetzt laufen. Wichtig ist eben nur noch der NoAnonymous account.
 
Last edited by a moderator:
Danke erstmal für die Tipps.

Läuft alles bestens ... ;)

Pass bitte noch in dem HOWTO dein MySQL-Zitat an, dass hat bei mir so nicht funktioniert.
So funktioniert das bei mir:
INSERT INTO `ftpd` (`user` ,`status` ,`password` ,`uid` ,`gid` ,`dir` ,`ulbandwidth` ,`dlbandwidth` ,`comment` ,`ipaccess` ,`quotasize` ,`quotafiles` VALUES ('testuser', '1', md5('geheimespasswort'), '2001', '2001', '/home/ftp/testdir', '100', '100', 'Testuser', '*', '50', '0');

Ja ich weiß es sind nur die ' durch ` ersetzt worden, aber mein MySQL meckert sonst über einen Syntaxfehler.
Und sei doch so lieb das du in jeder Befehlszeile mit echo die “ ” mit " " ersetzt, da Putty aus den Zeichen Punkte macht und es besonders ärgerlich beim Useranlegen war.

Und vielleicht solltest du noch die Meldung überarbeiten die ausgegeben wird, wenn alles korrekt funktioniert. Weil ich dachte ja auch, dass bei mir was nicht in Ordnung sei, da die Ausgabe nicht 100 % deiner entsprach ... ;)

Habe jetzt auch noch ein paar Parameter gefunden, die du eventuell mit in dein HOWTO aufnehmen kannst:
- VerboseLog
- PAMAuthentication
- TLS

Da alles so schön funktioniert hat schmeiße ich nun alles wieder runter und installiere es nun mit SSL ... ;)

EDIT:
Habe gerade bemerkt, dass SSL ja schon dabei ist. Das ich das nur noch aktivieren muss.

EDIT2:
Nach dem Erstellen eines Zertifikates läuft alles ohne Probleme. :)
Großen Dank an Mordor!

Werde mich nun an das HOWTO machen ... ;)
 
Last edited by a moderator:
Zu den Anführungszeichen, das sind ganz normale. Die kann ich hier auf der Tastatur nicht anders schreiben. Das sind die über der 2 und über dem #.

Mir ist da noch ein kleiner Fehler aufgefallen: In die Datei NoAnonymous gehört ein yes, nicht ein no.

Und zu guter letzt: Wenn du mal genau nach liest, steht zur Startmeldung im Howto, dass das ganze mit einer Meldung in dieser Art quitiert wird. Das wäre jetzt für mich etwas anderes als genau so.
 
Last edited by a moderator:
Komisch meine Anführungszeichen sehen anders aus ... ;)
Naja egal. Es läuft ... :)

Werde ich gleich ändern ... ;)

Da hast du wohl Recht ... :D
Habe ich wohl überlesen!

Naja jetzt läuft der FTP und weiter gehts mit den Mailserver Postfix. :cool:
 
Back
Top