Moin!
Ich bin nun schon eine ganze Weile am Googlen, finde aber keine Lösung für mein "Problem". Ich hätte gerne folgendes realisiert:
Alle virtuellen User, welche meinen VSFPTd-Server nutzen können sollen, sollen in einer Datenbank stehen, welche sinnvollerweise folgende Daten enthält: User-/Loginname, Passwort, Homedir.
Dass das Ganze "irgendwie" über PAM geht weiß ich - es mangelt mir "nur" an der Kenntnis zur genauen Umsetzung. ;-)
Ziel ist es also, unabhängig von den tatsächlich eingerichteten, lokalen Benutzern, einen FTP-Login für alle User zu ermöglichen, die in der o.g. Datenbank stehen. Das Homedir soll das Verzeichnis sein, in das der User schreiben darf (chrooted natürlich).
Sollte also jemand das o.g. schoneinmal selbst eingerichtet haben oder den Link zu einem guten HowTo parat habe, wäre ich sehr dankbar, wenn er mir dieses Wissen mitteilen könnte.
Vielen Dank schonmal im Voraus. :-)
VSFTPd: Virtuelle User / Userdaten in MySQL-Datenbank
-
- Posts: 6
- Joined: 2003-12-11 18:41
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: VSFTPd: Virtuelle User / Userdaten in MySQL-Datenbank
vsftpd unterstützt PAM. Es gibt das PAM-Modul pam_mysql. Hast du irgendein konkretes Problem oder mangelt es an allem?
Prinzipiell musst du nur vsftpd mit PAM-Unterstützung kompilieren (vllt. hat das der Maintainer deiner Distribution schon gemacht), pam_mysql installieren und eine entsprechende Datei in /etc/pam.d anlegen.
Prinzipiell musst du nur vsftpd mit PAM-Unterstützung kompilieren (vllt. hat das der Maintainer deiner Distribution schon gemacht), pam_mysql installieren und eine entsprechende Datei in /etc/pam.d anlegen.
-
- Posts: 6
- Joined: 2003-12-11 18:41
Re: VSFTPd: Virtuelle User / Userdaten in MySQL-Datenbank
Moin!
Ich wage glatt zu behaupen, den Wald vor lautern Bäumen nicht mehr zu sehen, denn nämlich exakt diese Einrichtung hat bei Postfix ohne Probleme geklappt. Im Moment hänge ich jedoch irgendwie total in der Luft.
Das ich die Authentifizierung über PAM machen kann/muss, ist mir bekannt; ich komme im Moment nur irgendwie nicht wirklich mit der Umsetzung dessen klar.
Vielleicht im einzelnen:
1. Wie muss meine /etc/pam.d/vsftpd aussehen?
2. Welche notwendigen Ã?nderungen muss ich in /etc/vsftpd.conf vornehmen, außer der Definition von pam_service_name?
3. Welche Felder (und ggf. welcher Feldtyp) kann/muss meine Datenbank mit den Userdaten haben.
4. Wie bekomme ich VSFTPd dann dazu z.B. die homedir-Angabe aus der Datenbank zu verwenden (also z.B. /home/ftp/blaUser1 oder /ftphome/blaUser2)?
Und letztlich, als "Zusatzfrage": *Müssen* alle FTP-Verzeichnise in einem bestimmten Unterverzeichnis liegen (also z.B. /home/ftpuser/) oder können sie, wie in Frage 4 angesprochen, auch "verteilt" sein?
VSFTPd ist übrigens mit PAM-Unterstützung kompiliert, von der Seite ist also alles soweit bereit. Der (Denk-)Fehler ist wohl zwischen Monitor und Rückenlehne zu finden. ;)
Für weitere Hilfe wäre ich dankbar. :)
Ich wage glatt zu behaupen, den Wald vor lautern Bäumen nicht mehr zu sehen, denn nämlich exakt diese Einrichtung hat bei Postfix ohne Probleme geklappt. Im Moment hänge ich jedoch irgendwie total in der Luft.
Das ich die Authentifizierung über PAM machen kann/muss, ist mir bekannt; ich komme im Moment nur irgendwie nicht wirklich mit der Umsetzung dessen klar.
Vielleicht im einzelnen:
1. Wie muss meine /etc/pam.d/vsftpd aussehen?
2. Welche notwendigen Ã?nderungen muss ich in /etc/vsftpd.conf vornehmen, außer der Definition von pam_service_name?
3. Welche Felder (und ggf. welcher Feldtyp) kann/muss meine Datenbank mit den Userdaten haben.
4. Wie bekomme ich VSFTPd dann dazu z.B. die homedir-Angabe aus der Datenbank zu verwenden (also z.B. /home/ftp/blaUser1 oder /ftphome/blaUser2)?
Und letztlich, als "Zusatzfrage": *Müssen* alle FTP-Verzeichnise in einem bestimmten Unterverzeichnis liegen (also z.B. /home/ftpuser/) oder können sie, wie in Frage 4 angesprochen, auch "verteilt" sein?
VSFTPd ist übrigens mit PAM-Unterstützung kompiliert, von der Seite ist also alles soweit bereit. Der (Denk-)Fehler ist wohl zwischen Monitor und Rückenlehne zu finden. ;)
Für weitere Hilfe wäre ich dankbar. :)