Titel: PROFTPD Config Problem Beitrag von: Noodles am 03. März 2005, 18:51:48 Ich habe eine Usergroup namens "ftpuser" angelegt und einen test user
angelegt. Alle User dieser Gruppe sollen zugriff auf den Server bekommen. Kann mir jemand sagen was genau an der config nicht korrekt ist? Log von FlashFXP: Code: Code: [R] Connecting to 192.168.2.190 -> IP=192.168.2.190 PORT=21 [R] Connected to 192.168.2.190 [R] Connection failed (Connection lost) [R] Delaying for 120 seconds before reconnect attempt #1 [R] Retry attempt Aborted PROFTP Config: Code: Code: # This is a basic ProFTPD configuration file (rename it to # 'proftpd.conf' for actual use. It establishes a single server # and a single anonymous login. It assumes that you have a user/group # "nobody" and "ftp" for normal operation and anon. ServerName "Dada" ServerType standalone DeferWelcome off ShowSymlinks on MultilineRFC2228 on DefaultServer on AllowOverwrite on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayFirstChdir .message ListOptions "-l" DenyFilter \*.*/ # Uncomment this if you are using NIS or LDAP to retrieve passwords: #PersistentPasswd off # Port 21 is the standard FTP port. Port 21 # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd) MaxInstances 30 # Set the user and group that the server normally runs at. User nobody Group nogroup # Normally, we want files to be overwriteable. <Directory /*> # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 022 022 AllowOverwrite on </Directory> # Hier meine Ergänzungen # chroot für alle User der Gruppe ftpuser DefaultRoot ~ ftpuser # Login nur von Mitgliedern der Gruppe ftpuser erlauben <Limit LOGIN> </Limit> # Root-Login verbieten und gültige Shell verlangen (in /etc/shells) <Global> RootLogin off RequireValidShell on </Global> # Speed erhoehen UseReverseDNS off IdentLookups off # Logging Formate LogFormat default "%h %l %u %t \"%r\" %s %b" LogFormat auth "%v [%P] %h %t \"%r\" %s" LogFormat write "%h %l %u %t \"%r\" %s %b" # Logging aktivieren # alle logins ExtendedLog /var/log/ftp_auth.log AUTH auth # file/dir Zugriff ExtendedLog /var/log/ftp_access.log WRITE,READ write # für paranoide (vorsicht, erzeugt grosse Logfiles) #ExtendedLog /var/log/ftp_paranoid.log ALL default Userconfig: Code: Code: Name: ftp2 Gruppe: ftpuser Stammverzeichnis: /home/ftp2 Shell: /bin/bash Titel: PROFTPD Config Problem Beitrag von: Wörsty am 03. März 2005, 23:07:34 :debug: proftpd -nd 5
Titel: PROFTPD Config Problem Beitrag von: Noodles am 04. März 2005, 17:10:28 Hmm, also dieser server.zuhause.xx macht mich etwas stutzig... ich habe den Debian Server aus der Zeitschrift C't laufen, ist dies eine voreinstellung die nicht so ganz korrekt ist?
Hier der Code: Code: server:~# proftpd -nd 5 - mod_tls/2.0.7: using OpenSSL 0.9.7e 25 Oct 2004 - parsing '/etc/proftpd.conf' configuration - Compiling deny regex '\*.*/'. - Allocated deny regex at location 0x8117858. - <Directory /*>: adding section for resolved path '/*' - </Limit>: ignoring empty context server.zuhause.xx - server.zuhause.xx - Config for Dada: server.zuhause.xx - /* server.zuhause.xx - Umask server.zuhause.xx - DirUmask server.zuhause.xx - AllowOverwrite server.zuhause.xx - ShowSymlinks server.zuhause.xx - DisplayLogin server.zuhause.xx - DisplayFirstChdir server.zuhause.xx - ListOptions server.zuhause.xx - DenyFilter server.zuhause.xx - RootLogin server.zuhause.xx - RequireValidShell server.zuhause.xx - DeferWelcome server.zuhause.xx - ShowSymlinks server.zuhause.xx - DefaultServer server.zuhause.xx - AllowOverwrite server.zuhause.xx - TimeoutNoTransfer server.zuhause.xx - TimeoutStalled server.zuhause.xx - TimeoutIdle server.zuhause.xx - DisplayLogin server.zuhause.xx - DisplayFirstChdir server.zuhause.xx - ListOptions server.zuhause.xx - DenyFilter server.zuhause.xx - UserID server.zuhause.xx - UserName server.zuhause.xx - GroupID server.zuhause.xx - GroupName server.zuhause.xx - DefaultRoot server.zuhause.xx - IdentLookups server.zuhause.xx - ExtendedLog server.zuhause.xx - ExtendedLog server.zuhause.xx - RootLogin server.zuhause.xx - RequireValidShell server.zuhause.xx - deleting existing scoreboard '/var/run/proftpd/proftpd.scoreboard' server.zuhause.xx - Failed binding to 0.0.0.0, port 21: Address already in use server.zuhause.xx - Check the ServerType directive to ensure you are configured correctly. -bash: server.zuhause.xx: command not found Titel: PROFTPD Config Problem Beitrag von: Noodles am 04. März 2005, 18:07:50 So dank dem Befehl:
Code: proftpd -nd 5 der wohl eine noch genauere prüfung der gesammten Configuration vornimmt habe ich folgendes ergebnis: Code: server:/etc# proftpd -nd 5 - mod_tls/2.0.7: using OpenSSL 0.9.7e 25 Oct 2004 - parsing '/etc/proftpd.conf' configuration - Compiling deny regex '\*.*/'. - Allocated deny regex at location 0x8117878. - <Directory /*>: adding section for resolved path '/*' - </Limit>: ignoring empty context server.zuhause.xx - server.zuhause.xx - Config for Dada: server.zuhause.xx - /* server.zuhause.xx - Umask server.zuhause.xx - DirUmask server.zuhause.xx - AllowOverwrite server.zuhause.xx - ShowSymlinks server.zuhause.xx - DisplayLogin server.zuhause.xx - DisplayFirstChdir server.zuhause.xx - ListOptions server.zuhause.xx - DenyFilter server.zuhause.xx - RootLogin server.zuhause.xx - RequireValidShell server.zuhause.xx - DeferWelcome server.zuhause.xx - ShowSymlinks server.zuhause.xx - DefaultServer server.zuhause.xx - AllowOverwrite server.zuhause.xx - TimeoutNoTransfer server.zuhause.xx - TimeoutStalled server.zuhause.xx - TimeoutIdle server.zuhause.xx - DisplayLogin server.zuhause.xx - DisplayFirstChdir server.zuhause.xx - ListOptions server.zuhause.xx - DenyFilter server.zuhause.xx - UserID server.zuhause.xx - UserName server.zuhause.xx - GroupID server.zuhause.xx - GroupName server.zuhause.xx - DefaultRoot server.zuhause.xx - IdentLookups server.zuhause.xx - ExtendedLog server.zuhause.xx - ExtendedLog server.zuhause.xx - RootLogin server.zuhause.xx - RequireValidShell server.zuhause.xx - deleting existing scoreboard '/var/run/proftpd/proftpd.scoreboard' server.zuhause.xx - Failed binding to 0.0.0.0, port 21: Address already in use server.zuhause.xx - Check the ServerType directive to ensure you are configured correctly. Also wie selbst ich erkennen konnte stimmt eindeutig etwas nicht mit meiner Netzwerk Config, also fix herausgefunden wo diese bei Debian liegt: Code: # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 192.168.1.2 dns-search zuhause.xx Für mich ist diese einstellung etwas verwirrend, der Server kommt ins Netz über meinen DHCP Router, allerdings verstehe ich nicht warum er z.B.: adress: 192.168.1.2 zugewisen hat.. die eigentlich adresse die er vom Rputer zugewiesen bekommen hat lautet: 192.168.2.190. Weiterhin stört mich ein wenig dieser DNS eintrag, ich kenne DNS nur von diensten wie Dyndns.org, aber was bringt diese locale einstellung?! Währe über tipps und anregungen für mein weiteres vorgehen sehr glücklich. Danke P.s.: Ich verwende den C't Debain Server Titel: PROFTPD Config Problem Beitrag von: stonki am 04. März 2005, 18:08:01 da laueft noch ein Server auf port21
Titel: PROFTPD Config Problem Beitrag von: Wörsty am 04. März 2005, 19:29:03 Zitat von: "stonki" da laueft noch ein Server auf port21 Sei doch nicht immer so geizig mit dem Text :wink: Also. Das heißt es läuft ein Programm auf Port 21. Kontrollieren kannst du das mit fuser -n tcp 21 Als Ergebniss bekommst du eine Prozess-ID. Die mußt du dann bei ps -ef sehen: ps -ef | grep <Die ID> Bevor Du den Debug-Modus startest mußt Du halt proftpd beenden. Der Befehl lautet: killall proftpd Titel: PROFTPD Config Problem Beitrag von: Noodles am 04. März 2005, 19:48:28 Code: server:/etc/network# killall proftpd proftpd: Kein Prozess abgebrochen server:/etc/network# fuser -n tcp 21 21/tcp: 1024 server:/etc/network# ps -ef | grep 1024 root 1024 1 0 17:06 ? 00:00:00 /usr/sbin/inetd server:/etc/network# :oi Öhhmm, joa... inetd sagt mir was... musste ich schon mal restarten glaube ich :D Aber was ist es genau? Titel: PROFTPD Config Problem Beitrag von: Wörsty am 04. März 2005, 20:06:21 Der inetd ist ein Daemon, der auf bestimmten Ports Dienste zur Verfügung stellt.
Wenn in deiner proftpd.conf ServerType inetd steht, ist das okay. Allerdings muß dann in der inetd.conf auch proftpd angegeben sein. Der Debug-Modus funktioniert aber nur im Standalone Modus. Also ServerType standalone Kuck mal hier: http://www.proftpd.de/FAQ.15.0.html 1. Failed binding to 0.0.0.0, port 21: Address already in use Ist da erklärt 2. ProFTPD startet nicht ! Wie kann ich mehr Infos bekommen? 3. inetd.conf sollte in etwa so aussehen: Code: service ftp { socket_type = stream protocol = tcp wait = no user = root server = /usr/local/sbin/proftpd } Titel: PROFTPD Config Problem Beitrag von: Noodles am 06. März 2005, 22:37:23 Also,
es ist unglaublich aber der Login durch ein FTP Programm scheint tatsächlich korrekt zu Funktionieren :) Allerdings habe ich noch ein paar kleine Fragen bei denen ihr mir hoffentlich noch einmal weiterhelfen könnt. in der inetd.con gab es eine standart FTP Zeile: Code: ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd 1) So wie ich das sehe sind die werte recht ähnlich zu der von Wörsty vorgeschlagenen config, kann ich diese entfernen (ich habe die Config von Wörsty zu 100% übernommen)?! 2) Wie ich das verstanden habe ist der Servertyp "standalone" hauptsächlich für server geeignet die wirklich nur FTP dienste bieten, ist das korrekt? WO liegt der vorteil gegenüber inetd? Titel: PROFTPD Config Problem Beitrag von: stonki am 07. März 2005, 08:06:30 Zitat von: "Noodles" 2) Wie ich das verstanden habe ist der Servertyp "standalone" hauptsächlich für server geeignet die wirklich nur FTP dienste bieten, ist das korrekt? WO liegt der vorteil gegenüber inetd? also (sollte vielleicht mal in die FAQ): * inetd * xinetd * Standalone Bei Inetd und xinetd wird der Server (in unserem Fall ProFTPD, kann aber auch ein Emailserver etc) nur bei Bedarf gestartet und anschliessend wieder geschlossen. Das hat den Vorteil, das der Serverprozess keine Rechenpower belegt, wenn er garnicht benötigt wird. Xinetd hat ausserdem noch Möglichkeiten die Resourcen des Servers zu begrenzen: CPU Last, Speicher etc... Nachteil: Pro neue Verbindung wird auch auch neuer Server aufgemacht, während im Standalone Modus nur ein Fork gestartet wird. Inetd halte ich in Zeiten von Gigaherz und Megabyte für ziemlichen Schwachsinn. Xinetd kann sinn machen, wenn man wirklich Ahnung hat, was man wie und wieso begrenzen will. Die ganzen Limits können ab in ProFTPD direkt auch in der ProFTPD.conf gesetzt werden, daher sticht das xinetd Argument bei ProFTPD nicht so. Standalone ist die einfachste Lösung. Der Serverprozess wird gestartet und gut ist. Nachteil ist eben, das immer ein Prozess läuft und so Speicher belegt. Meine Empfehlung: Standalone, Standalone, Standlone. alles andere macht keinen wirklichen Sinn. cu stonki |