PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ftp-server für viele user



neonknight
06.09.04, 15:55
hallo zusammen

ich möchte einen ftp-server gemäss untenstehender beschreibung aufsetzen, weiss aber nicht, wie ich dafür vorgehen sollte und welche techniken ich dafür einsetzen muss:

- ein gemeinsames verzeichnis, von dem einige aber nicht alle lesen können
- pro user ein individuelles verzeichnis, in dem er machen kann, was er will, jedoch dürfen die anderen user keinen zugriff darauf haben.
- die benutzer sollen ihre passwörter selbst ändern können
- benutzer sollen einfach hinzugefügt oder gelöscht werden können
- up/down-ratio für einzelne aber nicht alle benutzer
- kein anonymer zugriff

auf der kiste läuft ein aktuelles linux mit proftpd (kann auch gegen einen anderen ftp-server ausgetauscht werden, kein problem), mysql, apache. weitere dienste können problemlos hinzugefügt werden, sofern nötig.

ist das überhaupt möglich?

vielen dank für hinweise und hilfe!

Jigsore
07.09.04, 01:17
Deinen Wünschen nach kannst Du jeden ftpd nutzen. Beim einen mit mehr beim anderen mit weniger Konfigurationsaufwand.

Relativ einfach sollte es mit pureftpd und glftpd funktionieren. glftpd hat den Nachteil das es keinen öffentlichen Quelltext gibt, aber am einfachsten zu administrieren ist, vor allem was das Usermanagment angeht.

http://www.pureftpd.org
http://www.glftpd.com

Bei beiden wirst Du aber ohne ein gründliches Lesen der sehr guten Dokumentationen nicht weit kommen ;)

neonknight
08.09.04, 10:50
vielen dank für den hinweis auf pure-ftp. damit habe ich es soweit hinbekommen. dessen doku ist so gut, dass selbst idioten wie ich damit klarkommen können (im gegensatz zu proftp...).
ich mache die benutzerauthentifizierung über eine mysql-datenbank, da kann ich dann auch selbst ein webfrontend für die benutzerverwaltung dazu erstellen ;)

ein paar probleme habe ich aber noch:
1) wie kann ich die passwörter verschlüsseln? theoretisch müsste ich in der pureftp-mysql-konfigurationsdatei den schlüssel MYSQLCrypt mit einem entsprechenden parameter versehen. für unverschlüsselte passwörter ist das
MYSQLCrypt plaintext
was auch einwandfrei funktioniert.
für md5 müsste es doch mit
MYSQLCrypt MD5
gehen. dann muss ich in der mysql-tabelle die passwörter als md5-hash eintragen. den hash könnte ich ja z.b. mit
echo passwort | md5sum
erhalten. leider funktioniert das bei mir nicht. der server kann dann den benutzer nicht mehr authentifizieren. vermutlich habe ich da irgend einen denkfehler in meinem vorgehen... (jaaaa, den server habe ich zu gegebenen zeitpunkten natürlich neu gestartet.)

2) der server steht hinter einem nat-router. port 21tcp ist weitergeleitet. trotzdem können benutzer von aussen nicht richtig zugreifen. fehler gibt es verschiedenste. mal "500 unknown command" mit login-verweigerung, mal wird zwar eingeloggt aber die verzeichnisse nicht aufgelistet...
die option -N habe ich schon versucht - leider erfolglos. muss ich die router-konfiguration ändern oder gibt es noch andere kommandozeilenoptionen?

vielen dank für tipps!

zeeman
08.09.04, 14:16
ein paar probleme habe ich aber noch:
1) wie kann ich die passwörter verschlüsseln? theoretisch müsste ich in der pureftp-mysql-konfigurationsdatei den schlüssel MYSQLCrypt mit einem entsprechenden parameter versehen. für unverschlüsselte passwörter ist das
MYSQLCrypt plaintext
was auch einwandfrei funktioniert.
für md5 müsste es doch mit
MYSQLCrypt MD5
gehen. dann muss ich in der mysql-tabelle die passwörter als md5-hash eintragen. den hash könnte ich ja z.b. mit
echo passwort | md5sum
erhalten. leider funktioniert das bei mir nicht. der server kann dann den benutzer nicht mehr authentifizieren. vermutlich habe ich da irgend einen denkfehler in meinem vorgehen... (jaaaa, den server habe ich zu gegebenen zeitpunkten natürlich neu gestartet.)
reicht nicht die php-funktion md5($string) um ne md5-hash zu bekommen?
wär so meine idee und nicht das rumfomratieren was du da machst...


2) der server steht hinter einem nat-router. port 21tcp ist weitergeleitet. trotzdem können benutzer von aussen nicht richtig zugreifen. fehler gibt es verschiedenste. mal "500 unknown command" mit login-verweigerung, mal wird zwar eingeloggt aber die verzeichnisse nicht aufgelistet...
die option -N habe ich schon versucht - leider erfolglos. muss ich die router-konfiguration ändern oder gibt es noch andere kommandozeilenoptionen?

vielen dank für tipps!
man sollte sich per passivem ftp mit dem ftp-server aber verbinden können (kann man im ftp-client aktivieren)
wenn du auch aktives ftp unterstützen willst, muss dein router ein ftp-masq-modul.

MfG

`kk
08.09.04, 15:41
- die benutzer sollen ihre passwörter selbst ändern können


Hm, at irgendein FTP-Server SQL-DB-Support?

Edit:


ich mache die benutzerauthentifizierung über eine mysql-datenbank, da kann ich dann auch selbst ein webfrontend für die benutzerverwaltung dazu erstellen


Okay... :ugly:

neonknight
08.09.04, 15:46
reicht nicht die php-funktion md5($string) um ne md5-hash zu bekommen?
wär so meine idee und nicht das rumfomratieren was du da machst...

da hast du natürlich recht. aber ich habe die auth-tabelle erst nur in webmin mit test-daten gefüllt und drum den md5-hash auf der kommandozeile generiert ;) bevor ich zeit für ein webgui aufwende, sollte der ganze rest laufen.
aber grundsätzlich müsste meine konfiguration ja eigentlich schon korrekt sein, oder? dann war evtl einfach nur der hash falsch...



man sollte sich per passivem ftp mit dem ftp-server aber verbinden können (kann man im ftp-client aktivieren)

ok, dann muss ich da ein paar versuche dazu machen ;)

vielen dank für deine hilfe!

neonknight
09.09.04, 11:02
alles klar, der hash war falsch ;)

somit funktioniert eigentlich alles nach meinen wünschen, bis auf die logins mit einigen clients... jetzt muss ich mich noch ein bisschen mit dem aktiv/passiv-kram rumschlagen. pureftp scheint da mehr probleme zu verursachen als proftp...