Titel: Kein Login an Virtualhost möglich Beitrag von: nasi_be am 26. Februar 2006, 19:09:21 Hallo zusammen!
Ich habe ein Problem mit einem Virtualhost. Bei der Anmeldung kommt bei mir auf dem Client immer die Fehlermeldung, daß das Kennwort falsch ist. In der Log-Datei steht, daß eine LIMIT-Anweisung den Zugriff verweigert. Aber ich sehe meinen Fehler einfach nicht... Hier meine Config: Code: ServerName "Debian" ServerType standalone DeferWelcome off DefaultAddress 192.168.2.3 Port 621 SocketBindTight on DefaultServer off MultilineRFC2228 on ShowSymlinks on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayFirstChdir .message ListOptions "-l" DenyFilter \*.*/ UseReverseDNS off IdentLookups off RequireValidShell off MaxInstances 30 MaxClientsPerHost 3 MaxClientsPerUser 3 MaxHostsPerUser 1 # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 027 027 # Normally, we want files to be overwriteable. AllowOverwrite on AllowRetrieveRestart on AllowStoreRestart on # Some logging formats 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" <Global> # Set the user and group that the server normally runs at. User nobody Group nogroup # Log file/dir access ExtendedLog /var/log/proftpd/proftpd.access_log WRITE,READ write # Record all logins ExtendedLog /var/log/proftpd/proftpd.auth_log AUTH auth # Paranoia logging level.... ExtendedLog /var/log/proftpd/proftpd.paranoid_log ALL default # Normale Log-Datei anstatt Syslog ServerLog /var/log/proftpd/proftpd.log DefaultChdir /home/ftpdaten DefaultRoot /home/ftpdaten # Login-Berechtigungen setzen <Limit LOGIN PASV PORT> DenyAll AllowGroup ftpuser </Limit> # Verzeichnis /home/ftpdaten und Unterverzeichnisse <Directory /home/ftpdaten> # Dateien ausblenden, auf die der Benutzer keine # Berechtigungen hat HideNoAccess on # Alles verbieten <Limit ALL> DenyAll </Limit> # Gruppe ftpuser Lese-Zugriff geben <Limit READ> AllowGroup ftpuser </Limit> # Gruppe ftpuser Dir-Zugriff geben <Limit DIRS> AllowGroup ftpuser </Limit> </Directory> # Verzeichnis /home/ftpdaten/upload und Unterverzeichnisse <Directory /home/ftpdaten/upload> # Gruppe ftpuser Schreib-Zugriff geben # (ohne Loesch-Rechte) <Limit MKD STOR STOU> AllowGroup ftpuser </Limit> </Directory> </Global> # TLS <IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/proftpd_tls.log TLSProtocol TLSv1 TLSRequired on TLSVerifyClient off TLSRSACertificateFile /etc/ftpcert/ftphost.cert TLSRSACertificateKeyFile /etc/ftpcert/ftphost.key </IfModule> <VirtualHost 192.168.2.4> ServerName "Debian-Local" Bind 192.168.2.4 Port 21 # Set the user and group that the server normally runs at. User nobody Group nogroup # Log file/dir access ExtendedLog /var/log/proftpd/local-proftpd.access_log WRITE,READ write # Record all logins ExtendedLog /var/log/proftpd/local-proftpd.auth_log AUTH auth # Record all paranoid... ExtendedLog /var/log/proftpd/local-proftpd.paranoid_log ALL default # Normale Log-Datei anstatt Syslog ServerLog /var/log/proftpd/local-proftpd.log DefaultChdir /home/backuplw DefaultRoot /home/backuplw <Limit LOGIN PASV PORT> DenyAll AllowGroup imageftp </Limit> </VirtualHost> Geht das eigentlich so wie ich mir das vorgestellt habe? Ich will TLS nur auf Global und nicht auf dem Virtualhost aktiviert haben, da der globale für externen Zugriff sein soll und der andere für internen (LAN) für Programme, die mit TLS nicht umgehen können. Wenn ich die TLS-Befehle aber in den Gobal-Teil aufnehme, dann kommt eine Fehlermeldung, aber anscheinend scheint es im Moment auf dem Virtualhost weder mit noch ohne TLS zu funktionieren. Die Fehlermeldung in der Datei /var/log/proftpd/local-proftpd.log sieht folgendermaßen aus: Code: Feb 26 18:51:32 debsrv proftpd[3256] 192.168.2.4 (192.168.2.121[192.168.2.121]): FTP session opened. Feb 26 18:51:32 debsrv proftpd[3256] 192.168.2.4 (192.168.2.121[192.168.2.121]): USER imageftp (Login failed): Limit access denies login Feb 26 18:51:32 debsrv proftpd[3256] 192.168.2.4 (192.168.2.121[192.168.2.121]): FTP session closed. Was habe ich denn falsch gemacht? Gruß Thomas Titel: Kein Login an Virtualhost möglich Beitrag von: VolGas am 27. Februar 2006, 00:17:48 Hi!
Wow, Da hat sich jemand aber ganz schön Mühe gegeben! Jetzt im Detail darauf einzugehen wird mir -ehrlich gesagt- zu viel und warum das Login nicht klappt, ist mir auch nicht ganz klar. Ich versuche nun auf die Punkte einzugehen, die mir aufgefallen sind:
Code: <Limit LOGIN> DenyGroup !ftpuser </Limit> <Directory /home/ftpdaten> <Limit WRITE> DenyAll </Limit> </Directory> ... Das dürfte das selbe bewirken wie das, was Du erreichen wolltest.
Deine .conf-Datei entsprechend umzugestalten (nicht getestet und natürlich alles ohne Gewährleistung!): Code: ServerType standalone SocketBindTight on DefaultServer off DeferWelcome off MultilineRFC2228 on MaxInstances 30 MaxClientsPerHost 3 MaxClientsPerUser 3 MaxHostsPerUser 1 UseReverseDNS off IdentLookups off # Some logging formats 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" <Global> # Set the user and group that the server normally runs at. User nobody Group nogroup RequireValidShell off TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayFirstChdir .message DenyFilter \*.*/ ListOptions "-l" ShowSymlinks on # Normally, we want files to be overwriteable. AllowOverwrite on AllowRetrieveRestart on AllowStoreRestart on # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 027 027 # Log file/dir access ExtendedLog /var/log/proftpd/proftpd.access_log WRITE,READ write # Record all logins ExtendedLog /var/log/proftpd/proftpd.auth_log AUTH auth # Paranoia logging level.... ExtendedLog /var/log/proftpd/proftpd.paranoid_log ALL default # Normale Log-Datei anstatt Syslog ServerLog /var/log/proftpd/proftpd.log DefaultRoot /home/ftpdaten # Login-Berechtigungen setzen <Limit LOGIN> DenyGroup !ftpuser </Limit> <Directory /home/ftpdaten> HideNoAccess on <Limit WRITE> DenyAll </Limit> </Directory> # Verzeichnis /home/ftpdaten/upload und Unterverzeichnisse <Directory /home/ftpdaten/upload> # Gruppe ftpuser Schreib-Zugriff geben # (ohne Loesch-Rechte) <Limit MKD STOR STOU> AllowGroup ftpuser </Limit> </Directory> </Global> # -------------------------------------------- # Standard-Server # -------------------------------------------- ServerName "Debian" DefaultAddress 192.168.2.3 Port 621 # TLS <IfModule mod_tls.c> TLSEngine on TLSProtocol TLSv1 TLSLog /var/log/proftpd/proftpd_tls.log TLSRequired on TLSVerifyClient off TLSRSACertificateFile /etc/ftpcert/ftphost.cert TLSRSACertificateKeyFile /etc/ftpcert/ftphost.key </IfModule> # -------------------------------------------- # Lokaler Server # -------------------------------------------- <VirtualHost 192.168.2.4> ServerName "Debian-Local" Port 21 # Log file/dir access ExtendedLog /var/log/proftpd/local-proftpd.access_log WRITE,READ write # Record all logins ExtendedLog /var/log/proftpd/local-proftpd.auth_log AUTH auth # Record all paranoid... ExtendedLog /var/log/proftpd/local-proftpd.paranoid_log ALL default # Normale Log-Datei anstatt Syslog ServerLog /var/log/proftpd/local-proftpd.log DefaultRoot /home/backuplw <Limit LOGIN> DenyGroup !imageftp </Limit> </VirtualHost> Ich hoffe, daß das alles so funktioniert... Zum Testen schaltest Du vielleicht zuerst einmal TLS aus ("TLSEngine off"). Wenn das mit TLS so nicht funktionieren sollte, dann überprüfe noch einmal Deine Zertifikate und die Zugriffsrechte darauf. Gruß VolGas |