pure-ftpd und mysql
pure-ftpd und mysql
Hallo,
irgendwie ist entweder das Authmodul "mysql" von pure-ftpd scheisse geschrieben, oder ich habe hier irgendwo nen Denk-fehler...
es ist momentan nicht möglich, die Unix-Hashed MD5 Passwörter einfach in die DB zu kopieren, richtig?
Welche Passwort-Typen, muss ich denn verwenden, bzw. welche Verschlüsseleungs-Methoden?
MfG
Krispin
irgendwie ist entweder das Authmodul "mysql" von pure-ftpd scheisse geschrieben, oder ich habe hier irgendwo nen Denk-fehler...
es ist momentan nicht möglich, die Unix-Hashed MD5 Passwörter einfach in die DB zu kopieren, richtig?
Welche Passwort-Typen, muss ich denn verwenden, bzw. welche Verschlüsseleungs-Methoden?
MfG
Krispin
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: pure-ftpd und mysql
Mein lieber krispin. In allen möglichen Fragen, die du hier bisher gestellt hast, zweifelst du grundsätzlich erst einmal die Intelligenz der Entwickler diverser OpenSource-Produkte an. Was soll das ? Wenn du es doch so gut drauf hast, und es besser kannst, warum trägst du dann nicht zur "Verbesserung" der "misslichen Lage" bei, anstatt grundsätzlich erstmal rumzunölen ?irgendwie ist entweder das Authmodul "mysql" von pure-ftpd *piep* geschrieben, oder ich habe hier irgendwo nen Denk-fehler...
Btw. : Auch wenn ich mich bisher noch nie mit dem pureftpd befasst habe, habe ich nach 2 Minuten Suche folgendes gefunden :
http://www.pureftpd.org/README.MySQL
Im weiteren sind auch Beispiel aufgeführt, wie die tabellen auszusehen haben, ich wüsste daher nicht, was daran "momentan nicht möglich" sein sollte.Pure-FTPd is very flexible and users can be stored in any way in SQL tables.
You just have to have fields with the following info:
- The user's login.
- The user's password, in plaintext, MD5, crypt()ed or MySQL's password()
format. Pure-FTPd also accepts the "any" value for the MySQLCrypt field.
With "any", all hashing functions (not plaintext) are tried.
Btw. : Extra auch noch mal für dich als Debian-User :
http://www.pureftpd.org/README.Debian
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: pure-ftpd und mysql
Fakt ist, NEIN, Beispiele für Passwörter in den Verschiedenen Typen sind da nicht bei gegeben.
Ich habe bei MD5 erstmal auf das Unix-MD5 Hash getipp. Nach dem ich aber ein Gültiges verschlüsseltes Passwort aus der /etc/shadow genommen Habe, klappt es nicht. Das einzigste was funzt ist, cleartext, was es sich mit crypt() auf sich zu tun hat, keine Ahnung, werde ich aber auch nicht aus probieren, da das die Verschlüsselungs-MEthod für Passwörter des letzten Jahrhunderts war, wenn du mich verstehst. Eine lösung werde ich wohl hoffentlich bald haben, da ich mal Versuche werde, ein Script für den pure-authd zu schreiben, was dann auf jedenfall , wenn es nicht gehen wird, an mir liegt. - Falls es dich beruhigt.....
Jedenfalls Unix MD5 hashed PWs schluckt das ding nicht. Das "andere" MD5 verschlüsselungs Verfahren , md5checksum, wird es auch nicht sein, da ich es auch schon ausugeprobiert habe. Und einfach mal an der MySQLCryptPW-Deriktive habe ich mal ein "any" dran gesetzt.... - was dabei herus kam, kannste dir wohl denken, ne? Oder würde ich dann hier die Open Source-Leute beschuldigen? - Nein.
MfG
Krispin
Ich habe bei MD5 erstmal auf das Unix-MD5 Hash getipp. Nach dem ich aber ein Gültiges verschlüsseltes Passwort aus der /etc/shadow genommen Habe, klappt es nicht. Das einzigste was funzt ist, cleartext, was es sich mit crypt() auf sich zu tun hat, keine Ahnung, werde ich aber auch nicht aus probieren, da das die Verschlüsselungs-MEthod für Passwörter des letzten Jahrhunderts war, wenn du mich verstehst. Eine lösung werde ich wohl hoffentlich bald haben, da ich mal Versuche werde, ein Script für den pure-authd zu schreiben, was dann auf jedenfall , wenn es nicht gehen wird, an mir liegt. - Falls es dich beruhigt.....
Jedenfalls Unix MD5 hashed PWs schluckt das ding nicht. Das "andere" MD5 verschlüsselungs Verfahren , md5checksum, wird es auch nicht sein, da ich es auch schon ausugeprobiert habe. Und einfach mal an der MySQLCryptPW-Deriktive habe ich mal ein "any" dran gesetzt.... - was dabei herus kam, kannste dir wohl denken, ne? Oder würde ich dann hier die Open Source-Leute beschuldigen? - Nein.
MfG
Krispin
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: pure-ftpd und mysql
Ach, wie viele verschiedene MD5-Arten kennst du denn ?Ich habe bei MD5 erstmal auf das Unix-MD5 Hash getipp.
Nein, ich verstehe dich nicht, vor allem nicht, da du selbst schreibst (zugibst), dass du nicht weißt, was es damit auf sich hat.was es sich mit crypt() auf sich zu tun hat, keine Ahnung, werde ich aber auch nicht aus probieren, da das die Verschlüsselungs-MEthod für Passwörter des letzten Jahrhunderts war, wenn du mich verstehst.
Na dann mal zu. Zeig ihnen ihre "Unfähigkeit" ! :roll:Eine lösung werde ich wohl hoffentlich bald haben, da ich mal Versuche werde, ein Script für den pure-authd zu schreiben, was dann auf jedenfall , wenn es nicht gehen wird, an mir liegt. - Falls es dich beruhigt.....
Um mal auf den Punkt ganz oben zurückzukommen : MD5 ist und bleibt MD5 ... piepegal, ob es unter Unix für die /etc/shadow, unter MySQL oder sonstwo eingesetzt wird ...Jedenfalls Unix MD5 hashed PWs schluckt das ding nicht. Das "andere" MD5 verschlüsselungs Verfahren , md5checksum, wird es auch nicht sein, da ich es auch schon ausugeprobiert habe.
Deine Beispiele, in denen du die Leute mies machst haben bisher eigentlich immer gezeigt, dass der Fehler in dem Fall vor der Tastatur saß, und du einfach nur nicht richtig gelesen hat. Sorry, aber lies dir deine bisherigen Threads noch mal durch, dann wirst du sehen, was ich meine, auch wenn ich jetzt wieder der "Böse" bin.Oder würde ich dann hier die Open Source-Leute beschuldigen? - Nein.
So lange du jedenfalls den Fehler erst einmal grundsätzlich auf die "doofen" Schreiber der Software schiebst, wirst du von mir jedenfalls auch weiterhin nur solche Sprüche bekommen.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: pure-ftpd und mysql
Also erstmal, bei meinen Ersten Fragen habe ich garnicht die Schuld auf die doofen Software-Schreiber geschoben, du kennst jaCaptainCrunch wrote:Ach, wie viele verschiedene MD5-Arten kennst du denn ?Ich habe bei MD5 erstmal auf das Unix-MD5 Hash getipp.
Nein, ich verstehe dich nicht, vor allem nicht, da du selbst schreibst (zugibst), dass du nicht weißt, was es damit auf sich hat.was es sich mit crypt() auf sich zu tun hat, keine Ahnung, werde ich aber auch nicht aus probieren, da das die Verschlüsselungs-Method für Passwörter des letzten Jahrhunderts war, wenn du mich verstehst.
Na dann mal zu. Zeig ihnen ihre "Unfähigkeit" ! :roll:Eine lösung werde ich wohl hoffentlich bald haben, da ich mal Versuche werde, ein Script für den pure-authd zu schreiben, was dann auf jedenfall , wenn es nicht gehen wird, an mir liegt. - Falls es dich beruhigt.....
Um mal auf den Punkt ganz oben zurückzukommen : MD5 ist und bleibt MD5 ... piepegal, ob es unter Unix für die /etc/shadow, unter MySQL oder sonstwo eingesetzt wird ...Jedenfalls Unix MD5 hashed PWs schluckt das ding nicht. Das "andere" MD5 verschlüsselungs Verfahren , md5checksum, wird es auch nicht sein, da ich es auch schon ausugeprobiert habe.
Deine Beispiele, in denen du die Leute mies machst haben bisher eigentlich immer gezeigt, dass der Fehler in dem Fall vor der Tastatur saß, und du einfach nur nicht richtig gelesen hat. Sorry, aber lies dir deine bisherigen Threads noch mal durch, dann wirst du sehen, was ich meine, auch wenn ich jetzt wieder der "Böse" bin.Oder würde ich dann hier die Open Source-Leute beschuldigen? - Nein.
So lange du jedenfalls den Fehler erst einmal grundsätzlich auf die "doofen" Schreiber der Software schiebst, wirst du von mir jedenfalls auch weiterhin nur solche Sprüche bekommen.
Leider wurde ich hier schon oftmals dermaßen herunter gemacht, dass mir garnichts anderes mehr übrig bleibt, als auf das niedrige Neveau zu sinken....Die unerfahrenen Schieben die Schuld auf den PC, da sie sich für unfehlbar Halten, die Erfahrenen schieben die Schuld auf sich, da sie den Computer führ unfehlbar halten.
Wenn du mir es nicht glaubst, baller den Pure-FTPD mit Mysql druff, und versuche, dort dann ein Unix-Hashe PW,
Code: Select all
$1$8-zeichen-salt$cryptedmd5string
Welche unfahigkeit? Wenn die das einfach schlicht weg nicht mit eingebunden haben, dann werde ich ja wohl noch dürfen, mir mein Pure-FTPD so zurecht zu fummeln, dass es so funktioniert, wie ICH es möchte, und nicht, wie es andere für Richtig halten.Na dann mal zu. Zeig ihnen ihre "Unfähigkeit" ! :roll:
wie es sich in bezug der MySQL Auh verhält, ob damit auch die Methode gemeint, wo ein ein SAlt und ein String zum Verschlüsseln angegeben werden muss. (in bezug auf MD5)was es sich mit crypt() auf sich zu tun hat, keine Ahnung, werde ich aber auch nicht aus probieren, da das die Verschlüsselungs-MEthod für Passwörter des letzten Jahrhunderts war, wenn du mich verstehst.
Code: Select all
$1$8-zeichen-salt$cryptedmd5string
Nene, ist schon klar was du damit bezwekst....Deine Beispiele, in denen du die Leute mies machst haben bisher eigentlich immer gezeigt, dass der Fehler in dem Fall vor der Tastatur saß, und du einfach nur nicht richtig gelesen hat. Sorry, aber lies dir deine bisherigen Threads noch mal durch, dann wirst du sehen, was ich meine, auch wenn ich jetzt wieder der "Böse" bin.
So lange du jedenfalls den Fehler erst einmal grundsätzlich auf die "doofen" Schreiber der Software schiebst, wirst du von mir jedenfalls auch weiterhin nur solche Sprüche bekommen.
----
Da du mir bei meinem Problem aber uach nicht weiter helfen kannst/willst, lassen wir es lieber!
MfG
Krispin
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: pure-ftpd und mysql
Punkt 1 : Wozu Vollqutings der vorhergehenden Beiträge ? Die Sachen stehen schon genau so oben. Dazu noch jedes Zitat noch einmal einzeln ist dann mehr als übertrieben. Ich hab's aber extra nicht editiert, weil ich keinen Bock habe, mir eine Verfälschung deines Beitrags nachsagen zu lassen.
Punkt 2 :
In Bezug auf crypt hast du's eben nicht verstanden, schu dir mal dein Beispiel an, da bist du immer noch bei MD5-Hashes.
Punkt 2 :
Nein, kenn ich nicht, finde ich aber süß. Lies dir mal die letzten Threads durch, die du hier gestartet hast, dann wirst du sehen, was ich damit meine.Also erstmal, bei meinen Ersten Fragen habe ich garnicht die Schuld auf die doofen Software-Schreiber geschoben, du kennst ja
Selbst wenn du hier mal runtergemacht worden wärest (ich sehe nicht wo, aber vielleicht bist du auch etwas zart besaitet), würde das noch lange nicht rechtfertigen, warum du die Entwickler (z.B. der Apache-Foundation) als "deppen" bezeichnest.Leider wurde ich hier schon oftmals dermaßen herunter gemacht, dass mir garnichts anderes mehr übrig bleibt, als auf das niedrige Neveau zu sinken....
Nö, wozu sollte ich ? Ich für meinen Teil benötige so einen Schrunz nicht. Btw. : Nähere Angaben zur eingestezten Version oder gar Logs hast du hier noch gar nicht gebracht, daher kommt noch erschwerend hinzu, dass ich momentan weder Zeit noch Lust auf Ratespielchen hier im Forum habe.Wenn du mir es nicht glaubst, baller den Pure-FTPD mit Mysql druff, und versuche, dort dann ein Unix-Hashe PW,
Lies mal deine eigenen Beiträge ... wenn du selbst dran rumfuckeln willst, ohne vorher mal vernünftig gelsen zu haben : bitteschön, ich werde dich nicht davon abhalten, das Rad doppelt und dreifach zu erfinden.Welche unfahigkeit? Wenn die das einfach schlicht weg nicht mit eingebunden haben, dann werde ich ja wohl noch dürfen, mir mein Pure-FTPD so zurecht zu fummeln, dass es so funktioniert, wie ICH es möchte, und nicht, wie es andere für Richtig halten.
In Bezug auf crypt hast du's eben nicht verstanden, schu dir mal dein Beispiel an, da bist du immer noch bei MD5-Hashes.
Ach so, dann erklär mir doch bitte mal, was ich damit bezwecke ?!? Anscheinend weißt du nicht nur mehr als gweisse Software-Entwickler, sondern sogar noch besser als ich darüber Bescheid, was ich denke ...Nene, ist schon klar was du damit bezwekst....
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: pure-ftpd und mysql
In gewisser weise schon, da bei einem guter "Nachfolger" immer versucht wird, die Portablität von Config-Files best möglich zu machen. Was hierbei nun absulut wegfällt.Selbst wenn du hier mal runtergemacht worden wärest (ich sehe nicht wo, aber vielleicht bist du auch etwas zart besaitet), würde das noch lange nicht rechtfertigen, warum du die Entwickler (z.B. der Apache-Foundation) als "deppen" bezeichnest.Leider wurde ich hier schon oftmals dermaßen herunter gemacht, dass mir garnichts anderes mehr übrig bleibt, als auf das niedrige Neveau zu sinken....
Welche Version? Hast du mir nicht ein Typ für Debian Packages gegeben. In den Logfiles steht nur "Authentication failed" - Was dies bezüglich dich nun auch nicht schlauer machen wird.Nö, wozu sollte ich ? Ich für meinen Teil benötige so einen Schrunz nicht. Btw. : Nähere Angaben zur eingestezten Version oder gar Logs hast du hier noch gar nicht gebracht, daher kommt noch erschwerend hinzu, dass ich momentan weder Zeit noch Lust auf Ratespielchen hier im Forum habe.
Lies mal deine eigenen Beiträge ... wenn du selbst dran rumfuckeln willst, ohne vorher mal vernünftig gelsen zu haben : bitteschön, ich werde dich nicht davon abhalten, das Rad doppelt und dreifach zu erfinden.
Da man für die Selbst gebauten Auth-Mods noch nicht mal im Source herum frickeln muss, sondern dies schon von Haus aus herein angeboten wird (was alles andere, als unfähiges Proggen ist, und auch seine gründe haben wird), sehe ich da keine Probleme. Bezüglich des Rades mehr mal zu erfinden, fällt dann wohl weg...
Crypt ist ne andere Verschlüsselungs Methode für PWs unter UNIX, ist mir bekannt. Da a ber bei einignen Sprachen (z.B. PHP) diese genannte Funktion "crypt()" auch MD5 - Hashes ausgibt, war es ja mal ein Versuch Wert. Da aber auch dan angeben von bei MySQLCryptPW "all" nichts bringt, ist es einfach so, auch wenn du es mir nun galubst oder nicht, das das MySQL-Auth-Module von Pure-FTPd eben die methode, wie Unix MD5 Passwörter speichert, nicht untersützt, ich so also auch meine eigenen Module zurück greifen muss, was aber rein garnichts mit etwa Unfähigkeit zu tun hat.In Bezug auf crypt hast du's eben nicht verstanden, schau dir mal dein Beispiel an, da bist du immer noch bei MD5-Hashes.
Da man seine Gedanken, wenn man se Ã?ußert, auch möglichts aufschluss reich da liefern sollte, wozu ich zu geben muss, wir Beide wohl momentan noch dran Arbeiten sollten, kann ich mir in deine Ã?ußerung dass herein interpretieren, was ich daraus verstehe, da deine Ã?ußerung mit einem Gedicht vergleichbar ist, was man in Deutsch interpretieren soll. - Und keine direkte Richtung angibt.Ach so, dann erklär mir doch bitte mal, was ich damit bezwecke ?!? Anscheinend weißt du nicht nur mehr als gweisse Software-Entwickler, sondern sogar noch besser als ich darüber Bescheid, was ich denke ...
Da du aber wohl mit den weiteren "infos" weiter hin nicht weiter helfen wirst, Lassen wir es einfach, da wir bei unserem Gepräch doch auf keine lösung kommen, oder gar, die auch noch meine Problem lösen wird, wobei ich mir die Antwort schon selbst gegeben habe.
Also sehen wir diese Disskusion als "erledigt" an, oder führen die dann mal im Offtopic-Forum oder per PM weiter, da andere User, die Evt. das selbe Problem haben, diese Disskusion auch nicht weiter helfen wird.
MfG
Krispin
Krispin
Last edited by krispin on 2003-08-22 14:29, edited 5 times in total.
Re: pure-ftpd und mysql
kann gelöscht werden, falscher Knopp
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: pure-ftpd und mysql
Die Sache mit dem quoten üben wir aber noch mal, OK ? Oder ist das jetzt "security by obscurity" : den Gegenüber so durch Unlesbarkeit der Beiträge verwirren wollen, dass der gar nicht mehr weiß, wer welchen Beitrag geschrieben hat, und sich das passende erstmal raussuschen darf ?
[Edit : Hey, nach 5 Anläufen hat's ja geklappt ! ]
Ich gehe aber weiterhin davon aus, dass du die Dokumente und Readme's unter /usr/share/doc/pureftpd nocht nicht gelesen hast. Kleiner Tip : in den "README.debian"-Files stehen immer ganz nette Tips drin, die unter Debian zu beachten sind.
[Edit : Hey, nach 5 Anläufen hat's ja geklappt ! ]
Man könnte jetzt darüber streiten ob ein "guter Nachfolger" zugunsten von Verbesserungen auch mal Ã?nderungen an Configfiles zulässt, und nicht den "überholten" alten Schrunz jahrelang mitschleppt. Aber ich weiß ja mittlerweile, dass du es im Alleingang besser hinbekommen hättest als sämtliche Apache-Entwickler ...In gewisser weise schon, da bei einem guter "Nachfolger" immer versucht wird, die Portablität von Config-Files best möglich zu machen. Was hierbei nun absulut wegfällt.
Was für einen "Typ" ? Wieso soll ich mir die Mühe machen, erst mal groß nachzuschauen, was für eine Version das Paket in unstable hat, wenn ich davon ausgehen muss, dass du es selbst kompiliert hast ?Welche Version? Hast du mir nicht ein Typ für Debian Packages gegeben. In den Logfiles steht nur "Authentication failed" - Was dies bezüglich dich nun auch nicht schlauer machen wird.
Ich gehe aber weiterhin davon aus, dass du die Dokumente und Readme's unter /usr/share/doc/pureftpd nocht nicht gelesen hast. Kleiner Tip : in den "README.debian"-Files stehen immer ganz nette Tips drin, die unter Debian zu beachten sind.
Nein, es fällt nicht weg. Die Grundfunktionalität ist laut den Entwicklern schon vorhanden, ich behaupte aber immer noch, dass du bisher nur immer schön wild drauflosprobiert hast, ohne auch nur mal genau gelesen zu haben.Bezüglich des Rades mehr mal zu erfinden, fällt dann wohl weg...
Nein, wie oben schon gesagt bin ich fest davon überzeugt, dass durch einfaches lesen dieses Problem aus der Welt zu schaffen ist.Da aber auch dan angeben von bei MySQLCryptPW "all" nichts bringt, ist es einfach so, auch wenn du mir es nicht glaubst, das das MySQL-Auth-Module von Pure-FTPd eben die methode, wie Unix MD5 Passwörter speichert, nicht untersützt, ich so also auch meine eigenen Module zurück greifen muss, was aber rein garnichts mit etwa Unfähigkeit zu tun hat.
Mal abgesehen davon, dass ich den Kernpunkt, den du mir hier mitteilen möchtest nicht verstehe (was u.U. an diversen falschen Kommata und üblen Schitzern in der Grammatik liegen könnte) wüsste ich nicht, was an meiner Aussage oben falsch zu deuten wäre. So "poetisch" wie du schreibe ich nicht ...Da man seine Gedanken, wenn man se Ã?ußert, auch möglichts aufschluss reich da liefern sollte, wozu ich zu geben muss, wir Beide wohl momentan noch dran Arbeiten sollten, kann ich mir in deine Ã?ußerung dass herein interpretieren, was ich daraus verstehe, da deine Ã?ußerung mit einem Gedicht vergleichbar ist, was man in Deutsch interpretieren soll. - Und keine direkte Richtung angibt.
Fein ! Freut mich, dass ich dich auf dem Weg zur Lösung eines deiner Probleme begleiten durfte. :roll:Da du aber wohl mit den weiteren "infos" weiter hin nicht weiter helfen wirst, Lassen wir es einfach, da wir bei unserem Gepräch doch auf keine lösung kommen, oder gar, die auch noch meine Problem lösen wird, wobei ich mir die Antwort schon selbst gegeben habe.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: pure-ftpd und mysql
Jaja, das mit dem Quote ist schon ne sehr schwere Sache und ich weis erlic hgesagt echt nicht ,was die sich von phpBB schon gedacht haben ;)
--
Wunderbar, wenn du nun ja doch bereit bist mir zu Helfen, dann fangen wir doch gleich mal an, den richten Ansatz zu finden:
im Verzeichnis /usr/share/doc
unter "README.Debian" steht folgendes:
README.MySQL das hier:
Ps: Nach dem es nicht ging, habe ich selbst verständlich erstma darin nach geschaut!
MfG
Krispin
--
Wunderbar, wenn du nun ja doch bereit bist mir zu Helfen, dann fangen wir doch gleich mal an, den richten Ansatz zu finden:
im Verzeichnis /usr/share/doc
unter "README.Debian" steht folgendes:
unterpure-ftpd for Debian
--------------------
Please note that these packages use a complete new configuration scheme,
read the pure-ftpd-wrapper manual page for more information.
The location of the file with the directory aliases is
/etc/pure-ftpd/pureftpd-dir-aliases.
-- Stefan Hornburg (Racke) <racke@linuxia.de> Mon, 22 Jul 2002 14:47:34 +0200
README.MySQL das hier:
ich weiss zwar nicht, wo du nun gelesen hast, und ich wäre dir sehr verbunden, wenn du dein Geheimnis mit mir Teilst!If you never heard about MySQL before, *DON'T* enable MySQL support in
Pure-FTPd. MySQL is useless if you don't h
ave to manage many shared
accounts. But well... if you want to learn about MySQL anyway, here's a good
starting point: http://www.mysql.com/ .
------------------------ MYSQL SUPPORT ------------------------
Since release 0.99.1, Pure-FTPd has a built-in support for MySQL databases.
When MySQL is enabled, all account info is fetched from a central MySQL
database.
To compile the server with MySQL support, you first have to build and
install the MySQL client libraries. MySQL is freely available from
http://www.mysql.com/ and binary packages are included in many major
distributions. But if you choose a binary form, don't forget to also install
the development packages if they are available separately.
Then, configure Pure-FTPd with --with-mysql and your favorite extra gadgets:
./configure --with-mysql --with-cookie --with-throttling --with-ratios
If your MySQL libraries are installed in a special path, you can specify it
like this:
./configure --with-mysql=/opt/mysql
In this example, headers (like mysql.h) will be searched in
/opt/mysql/include and /opt/mysql/include/mysql, while related libraries
will be searched in /opt/mysql/lib and /opt/mysql/lib/mysql .
Then, install the server as usual:
make install
------------------------ MYSQL CONFIGURATION FILE ------------------------
Before running the server, you have to create a configuration file. Why a
configuration file instead of simple command-line options? you may ask.
Because for security reasons, you may want to hide how to connect to your
MySQL server. And as command-line options can be discovered by local users
(with 'ps auxwww' for instance), it's more secure to use a configuration
file for sensitive data. Keep it readable only by root (chmod 600) .
Here's a sample configuration file:
#MYSQLServer localhost
#MYSQLPort 3306
MYSQLSocket /tmp/mysql.sock
MYSQLUser root
MYSQLPassword rootpw
MYSQLDatabase pureftpd
MYSQLCrypt cleartext
MYSQLGetPW SELECT Password FROM users WHERE User="L"
MYSQLGetUID SELECT Uid FROM users WHERE User="L"
MYSQLGetGID SELECT Gid FROM users WHERE User="L"
MYSQLGetDir SELECT Dir FROM users WHERE User="L"
Have a look at the sample pureftpd-mysql.conf configuration file for
explanations of every keyword.
Save the configuration file anywhere. Let's say /etc/pureftpd-mysql.conf .
Then, you have to run the pure-ftpd command with '-l mysql:' (it's an 'ell'
not a 'one') followed by the path of that configuration file. Here's an
example with tcpserver:
tcpserver -DHRl0 0 21 /usr/local/bin/pure-ftpd -l mysql:/etc/pureftpd-mysql.conf &
You can mix different authentication methods. For instance, if you want to
use system (/etc/passwd) accounts when an account is not found in a MySQL
database, use -l mysql:/etc/pureftpd-mysql.conf -l unix
------------------------ TABLES STRUCTURES ------------------------
Pure-FTPd is very flexible and users can be stored in any way in SQL tables.
You just have to have fields with the following info:
- The user's login.
- The user's password, in plaintext, MD5, crypt()ed or MySQL's password()
format. Pure-FTPd also accepts the "any" value for the MySQLCrypt field.
With "any", all hashing functions (not plaintext) are tried.
* RECOMMENDATION: On Solaris systems and on very old C libraries, use MySQL
password() hashing. On all other systems, better use crypt(), which is
probably more secure *
- The system uid to map the user to. This can be a numeric id or an user
name, looked up at run-time.
- The system gid (numeric or not) .
- The home directory.
Here's a dump of a simple table to handle this:
CREATE TABLE users (
User varchar(16) NOT NULL default '',
Password varchar(64) NOT NULL default '',
Uid int(11) NOT NULL default '-1',
Gid int(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
PRIMARY KEY (User)
);
Uid and Gid can be char() instead of int() if you want to use names instead
of values.
Then, in the pureftpd-mysql.conf configuration file, you have to provide SQL
templates to fetch the needed info.
Let's take the previous example:
MYSQLGetPW SELECT Password FROM users WHERE User="L"
MYSQLGetUID SELECT Uid FROM users WHERE User="L"
MYSQLGetGID SELECT Gid FROM users WHERE User="L"
MYSQLGetDir SELECT Dir FROM users WHERE User="L"
For each query:
L is replaced by the login of an user trying to authenticate.
I is replaced by the IP address the client connected to.
P is replaced by the port number the client connected to.
R is replaced by the remote IP address the client connected from.
D is replaced by the remote IPv4 address, as a long decimal number.
You can mix all of these to store info in various tables. For instance, with
I, you can have a different table for every domain, so that joe@domain1
won't be the same account than joe@domain2 . And with R, you can restrict
one account to one specific address.
Please note that a login can only contains common characters: A...Z, a...z,
0...9, -, ., _, space, :, @ and ' . For security purposes, other characters
are forbidden.
You can also remove uid and gid fields in your tables, and use default
values instead (thus saving useless lookups) . Two directives are
useful to serve that purpose: MYSQLDefaultUID and MYSQLDefaultGID.
Obvious example:
MYSQLDefaultUID 1000
MYSQLDefaultGID 1000
Using these directives overrides MYSQLGetUID and MYSQLGetGID.
------------------------ PER-USER SETTINGS ------------------------
Individual settings can be set for every user, using optional queries.
- MySQLGetQTAFS is the maximal number of files an user can store in his home
directory.
Example:
MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="L"
- MySQLGetQTASZ is the maximal disk usage, in Megabytes.
Example:
MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User="L"
- MySQLGetRatioUL and MySQLGetRatioDL are optional ratios.
Example:
MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="L"
MySQLGetRatioDL SELECT DLRatio FROM users WHERE User="L"
- MySQLGetBandwidthUL and MySQLGetBandwidthDL are optional upload and
download bandwidth restrictions. Returned values should be in KB/s.
Example:
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="L"
- MySQLForceTildeExpansion is yet another optional feature, to enable "~"
expansion in paths. 0 disables it (default), 1 enables it. Only enable this
if real (system) users and virtual (MySQL) users match. In all other cases,
don't enable it blindly.
------------------------ TRANSACTIONS ------------------------
If you upgraded your tables to transaction-enabled tables, you can configure
Pure-FTPd to take advantage of transactions. That way, you can be sure that
all info parsed by the server is complete even if you're updating it at the
same time.
To enable transactions, add this line:
MySQLTransactions On
Don't enable transactions on tables that still are in ISAM or MyISAM
formats. Transactions are only working with newer backends (Gemini, InnoDB,
BerkeleyDB...), and in recent MySQL versions.
------------------------ ANONYMOUS USERS ------------------------
If you want to accept anonymous users on your FTP server, you don't need to
have any 'ftp' user in the MySQL directory. But you need to have a system
'ftp' account on the FTP server.
------------------------ ROOT USERS ------------------------
If a MySQL user entry has a root (0) uid and/or gid, Pure-FTPd will refuse
to log him in.
Without this preventive restriction, if your MySQL server ever gets
compromised, the attacker could also easily compromise the FTP server.
Security barriers are also implemented to avoid bad implications if wrong
data types (eg. binary blobs instead of plain text) are fetched with SQL
queries.
-Frank DENIS <j@pureftpd.org>.
Ps: Nach dem es nicht ging, habe ich selbst verständlich erstma darin nach geschaut!
MfG
Krispin
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: pure-ftpd und mysql
OK, da ja jetzt mal halbwegs konkrete Angaben vorliegen können wir ja mal anfangen :
2. Mal geschaut, ob die Debian-Pakete überhaupt inkl. MySQL-Support kompiliert wurden ?
3. Wie schaut dein Configfile aus ?
4. DB steht ? Hat der User aus dem Configfile Rechte, auf die DB zuzugreifen ?
5. Wie sieht die DB-Struktur aus ?
6. init-Script auf mysql-auth umgestellt ?
Sofern das alles passt, und du dich immer noch nicht einloggen kannst, würde ich mal schauen, ob überhaupt Zugriffe auf die DB gemacht wurden, und falls nicht, händisch schauen, ob der Zugriff für den DB-User überhaupt möglich ist.
1. Manpage gelesen ?Please note that these packages use a complete new configuration scheme,
read the pure-ftpd-wrapper manual page for more information.
2. Mal geschaut, ob die Debian-Pakete überhaupt inkl. MySQL-Support kompiliert wurden ?
3. Wie schaut dein Configfile aus ?
4. DB steht ? Hat der User aus dem Configfile Rechte, auf die DB zuzugreifen ?
5. Wie sieht die DB-Struktur aus ?
6. init-Script auf mysql-auth umgestellt ?
Sofern das alles passt, und du dich immer noch nicht einloggen kannst, würde ich mal schauen, ob überhaupt Zugriffe auf die DB gemacht wurden, und falls nicht, händisch schauen, ob der Zugriff für den DB-User überhaupt möglich ist.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: pure-ftpd und mysql
Alle deiner Angesprochenen Punkte treffen zu, die DB-Struktur?
Kommt gleich, das einzigste, was ich nun och mal machen muss, ist, das MySQL loggin auf "Debug" zu stellen ,oder wie es da heißt.
Den rest und B -Structur kommt gleich
MfG
Krispin
Kommt gleich, das einzigste, was ich nun och mal machen muss, ist, das MySQL loggin auf "Debug" zu stellen ,oder wie es da heißt.
Den rest und B -Structur kommt gleich
MfG
Krispin
Re: pure-ftpd und mysql
Also,
Pure-ftpd wrapper beachtet.
Manpage gelesen,
haben MySQL untersützung, abfragen werrden gemacht, und auch geloggt.
[Config-File]
-User hat volle rechte auf ne Select - Query
-DB steht,
-DB Struktur: http://krispin.de/table_users.jpg
- Init-Script ungestellt, und ja, geht, da sonst keine Query's kommen würde.
Pure-ftpd wrapper beachtet.
Manpage gelesen,
haben MySQL untersützung, abfragen werrden gemacht, und auch geloggt.
[Config-File]
Code: Select all
##############################################
# #
# 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 system
# Mandatory : user password. You must have a password.
MYSQLPassword "hätteste wohl gerne?"
# Mandatory : database to open.
MYSQLDatabase system
# 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 "all"
# 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.
# I is replaced by the IP address the user connected to.
# 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 crypt_pw FROM virtual_users WHERE username="L" AND ftp="1"
# Query to execute in order to fetch the system user name or uid
#MYSQLGetUID SELECT Uid FROM users WHERE User="L"
# Optional : default UID - if set this overrides MYSQLGetUID
MYSQLDefaultUID 30002
# Query to execute in order to fetch the system user group or gid
#MYSQLGetGID SELECT Gid FROM users WHERE User="L"
# Optional : default GID - if set this overrides MYSQLGetGID
MYSQLDefaultGID 30002
# Query to execute in order to fetch the home directory
MYSQLGetDir SELECT CONCAT('/server/var/www/', webdir) FROM virtual_users WHERE 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"
# 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"
# 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"
# 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
-DB steht,
-DB Struktur: http://krispin.de/table_users.jpg
- Init-Script ungestellt, und ja, geht, da sonst keine Query's kommen würde.
Re: pure-ftpd und mysql
Hi,
zumindestens in der Config-File, die du gepostet hast, ist zumindestens eine Zeile falsch:
MYSQLCrypt "all"
sollte wohl eher
MYSQLCrypt "any"
lauten.
Kille
zumindestens in der Config-File, die du gepostet hast, ist zumindestens eine Zeile falsch:
MYSQLCrypt "all"
sollte wohl eher
MYSQLCrypt "any"
lauten.
Kille
Re: pure-ftpd und mysql
Wenn auch veraltet, habe ich genau das gleiche Problem.
cleartext klappt, alles andere nicht. Habe mich schon beim "Debian Package maintainer" gemeldet, er weiss da auch nichts darüber.
cleartext klappt, alles andere nicht. Habe mich schon beim "Debian Package maintainer" gemeldet, er weiss da auch nichts darüber.