www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: soft-worker am 27. Juli 2003, 00:32:35



Titel: inetd oder standallone, das ist hier die Frage?
Beitrag von: soft-worker am 27. Juli 2003, 00:32:35
Moin!

Habe seit einigen Tagen Proftpd 1.28 mit mod_sql auf SuSe 8.0 am laufen.

Welche Vorzüge oder Nachteile bringt es mit sich, Proftpd als standallone oder unter dem inetd laufen zu lassen.

Als standallone hab ich "DefaultRoot ~" nicht zum laufen gekriegt, darum starte ich Proftpd jetzt in der inetd.conf.

Gruß

Werner


Titel: inetd oder standallone, das ist hier die Frage?
Beitrag von: Wörsty am 27. Juli 2003, 12:28:20
Also ist eigentlich Wurst.

Ein paar Unterschiede sind:
+Bei standalone kann man besser debuggen.
-Bei Konfig-Änderungen muß man mit standalone neu starten (macht er mit inetd "automatisch")

Ich selbst bin für standalone.
Dann kümmert sich proftpd um alles:
-Lauscht auf dem Port
-Startet die Child-Prozesse
...


Titel: inetd oder standallone, das ist hier die Frage?
Beitrag von: soft-worker am 27. Juli 2003, 13:03:32
Zitat von: "Wörsty"
Also ist eigentlich Wurst.

Ein paar Unterschiede sind:
+Bei standalone kann man besser debuggen.
-Bei Konfig-Änderungen muß man mit standalone neu starten (macht er mit inetd "automatisch")

Ich selbst bin für standalone.
...


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?


Titel: inetd oder standallone, das ist hier die Frage?
Beitrag von: Wörsty am 27. Juli 2003, 13:22:28
Zitat von: "soft-worker"
oder seh ich das falsch?

Denke ja.
Bei mit läuft's nicht als root sondern als www.
Habe schon einige Male meine Konfig gepostet.
 :look)


Titel: inetd oder standallone, das ist hier die Frage?
Beitrag von: stonki am 27. Juli 2003, 16:22:33
Zitat von: "soft-worker"

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