Hallo,
ich habe ein merkwürdiges Problem, das ohne bewusste Änderung am Server entstanden ist.
Ich arbeite mit Debian 3.1 Sarge 64Bit, MySQL 4.1.11, proftp 1.2.10
Die Konfiguration entspricht diesem HowTo:
http://www.howtoforge.com/proftpd_mysql_virtual_hostingwobei noch zusätzlich TLS konfiguriert ist.
Das Problem:
Im alten Jahr konnt ich das System prima nutzen und Dateien per FTP hochladen. Jetzt im neuen Jahr, geht nichts mehr. Als wäre irgend ein "haltbarkeitsdatum" überschritten.
Das FTP-Programm (filzilla 2.2.28) verbindet sich im passive mode mit expliziter tls verschlüsselung.
MySQL und TLS login funktioniert, nur bekommt der Benutzer keinen Zugriff auf den in der DB hinterlegten Pfad.
Die ftpuser der DB sind auch im System angelegt und der Systemgruppe ftpgruppe zugeordnet, owner und group sind auf den Verzeichenissen richtig gesetzt, aber irgendwie funktioniert das nicht mehr???
server log / debug level 6 (zuviel infos zum posten
....
Jan 02 15:53:12 xxx.xx.xx proftpd[2703] xxx.xx.xx (xx.dip.t-dialin.net[yy.yy.yy.yy]): notice: unable to resolve '~/': Permission denied
....
Ausgabe Filzille
Status: Verbinden mit xxx.xx.xx...
Status: Verbunden mit xxx.xx.xx, SSL-Verbindung wird ausgehandelt...
Antwort: 220 ProFTPD 1.2.10 Server (Debian) [88.198.15.71]
Befehl: AUTH TLS
Antwort: 234 AUTH TLS successful
Status: SSL-Verbindung hergestellt. Warten auf Willkommens-Meldung...
Befehl: USER benutzer
Antwort: 331 Password required for .
Befehl: PASS ********
Antwort: 530 Login incorrect.
Fehler: Verbindung kann nicht hergestellt werden!
proftpd.conf
ServerName "Debian"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayFirstChdir .message
ListOptions "-l"
DenyFilter \*.*/
DefaultRoot ~
Port 21
MaxInstances 30
User ftpuser
Group ftpgroup #nogroup
Umask 022 022
AllowOverwrite on
DebugLevel 6
ServerLog /var/log/proftp_server.log
SystemLog /var/log/proftp_sys.log
ExtendedLog /var/log/proftp_ext.log auth,read,write
TransferLog /var/log/proftp_transfer.log
# The passwords in MySQL are encrypted using CRYPT
SQLAuthTypes Plaintext Crypt
SQLAuthenticate users* groups*
# used to connect to the database
# databasename@host database_user user_password
SQLConnectInfo dbbenutzer@localhost datenbank passwort
# Here we tell ProFTPd the names of the database columns in the "usertable"
# we want it to interact with. Match the names with those in the db
SQLUserInfo ftpuser userid passwd uid gid homedir shell
# Here we tell ProFTPd the names of the database columns in the "grouptable"
# we want it to interact with. Again the names match with those in the db
SQLGroupInfo ftpgroup groupname gid members
# set min UID and GID - otherwise these are 999 each
SQLMinID 500
# create a user's home directory on demand if it doesn't exist
SQLHomedirOnDemand on
# Update count every time user logs in
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser
# Update modified everytime user uploads or deletes a file
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser
SQLLogFile /var/log/proftpd_sql.log
# User quotas
# ===========
# Quotas on???
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on
SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatallies
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
RootLogin off
RequireValidShell off
# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd off
# Uncomment this if you would use TLS module:
#TLSEngine on
TLSEngine on
PassivePorts 60000 65000
TLSLog /var/log/proftpd_tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest
TLSRSACertificateFile /etc/ssl/certs/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/ssl/certs/proftpd.key.pem
TLSVerifyClient off
TLSRequired off
Hat jemand eine Idee?