Ich hab meine User alle in eine MySQL-Datenbank gepackt.
Um mit "DefaultRoot ~" arbeiten zu können müßte ich Proftpd dann als root laufen lassen (chroot), oder seh ich das falsch?
nene, das ist ein oft gemachter Denkfehler:
1) ProFTPD wird als root gestartet und switch dann in den User, der in der ProFTPD Conf angegeben ist (meist nobody/nogroup), waehrend er auf Verbindungen wartet. Kommt nun eine neue Verbindung, dann switcht er wieder zum ROOT User, macht das CHROOT (und noch paar andere Befehle) und switcht anschliessend zur Uid, Gid vom User, der eingeloggt ist.
Das Verhalten kann man mittels RootRevoke veraendern, ist aber IMHO nicht notwendig, da die Root Priviligien wirklich nur fuer den Bruchteil einer Sekunde exisitieren.
Noch etwas zu Standalone und Inetd (Xinetd). Der Vorteil von Inetd (oder Xinetd) ist eben der, dass diese als Wrapper arbeiten. Das hat a) den Vorteil, dass der Dienst keine Resourcen benoetigt wo kein User eingeloggt ist (in den Zeiten heutiger Rechner eher egal) und das b) Sicherheitsregeln abgefragt und bestimmt werden koennen, _bevor_ der eigentliche Dienst (in diesem Fall ProFTPD) gestartet werden. So kann z.B. der Zugriff von gewissen IPs beschraenkt werden oder aber auch die max. Systemresourcen fuer einen Dienst bestimmt werden.
ProFTPD bringt diese Faehigkeiten jedoch auch alle mit. Daher sehe ich eigentlich fuer einen Dienst wie ProFTPD keinen Sinn, den hinter einem TCP Wrapper laufen zu lassen.
Ein Vorteil hat jedoch der Inetd: Fuer jede Connection wird ProFTPD neu gestartet, sprich die Config neu eingelesen. Wenn man dort z.B. Eintraege mit dynamischen DNS hat, dann werden die neu aufgeloest. Im Standalone Modus wird das ja nur 1x beim starten des Dienstes gemacht, also nach dem 24h Kick der Telekom sind die Eintraege veraltet.
cu
stonki