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:
[*]Fasse zuerst alle möglichen Anweisungen im
<Global>-Block zusammen.
[*]Prima:
DefaultAddress, SocketBindTight, DefaultServer, <VirtualHost ...>Weglassen:
Bind (unnötig und "depricated")
[*]
<Limit LOGIN PASV PORT>: Login ist klar, aber warum den "passive mode"
verbieten - dieser ist doch normalerweise ausdrücklich erwünscht?!
[*]
DefaultChdir /home/ftpdaten entfernen
[*]Du machst Dir mit deinen "Limits" das Leben ganz schön schwer.
Drehe die Logik um und es wird wesentlich einfacher (und kürzer):
<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.
[*]Daran denken: die System-Zugriffsrechte können nicht "ausgehebelt" werden![/list]Ich habe mir erlaubt und -auch nur ausnahmsweise(!!!)- die Mühe gemacht,
Deine .conf-Datei entsprechend umzugestalten (nicht getestet und natürlich
alles ohne Gewährleistung!):
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