Hallo,
mir ist aufgefallen, dass alle hochgeladenen Dateien und Verzeichnisse nicht mehr den ursprünglichen Zeitstempel tragen, sondern mit der aktuellen Zeit (zum Zeitpunkt des Hochladens) modifiziert werden.
Beispiel:
Eine Datei hat unter WinXP das Zeitattribut 'Geändert am': 26.10.2006. Nach dem Hochladen auf den FTP Server ist der Zeitstempel auf das aktuelle Datum geändert worden.
Im Prinzip wäre mir das egal, wenn die Datei einen neuen timestamp bekommt, aber ich möchte zwei Verzeichnisse synchronisieren und die zu synchronisierenden Dateien/Verzeichnisse sollen anhand des Datums erkannt werden. Und dafür ist es notwendig, dass der FTP-Server die ursprünglichen Zeitstempel der Dateien genau übernimmt. Ansonsten funktioniert das ganze ja nicht...
Das Problem habe ich schon mit verschiedenen FTP-Clients (FileZilla, PSftp Pro, psftp, CoreFTP, etc.) von einem Windows XP Pro Rechner aus reproduzieren können. Daher gehe ich davon aus, dass das Problem bei den Servereinstellungen liegt. Mit SSh Secure File Transfer und dem gleichen Benutzer tritt das Problem übrigens nicht auf - aber nun gut, ssh ist auch ne andere Geschichte als FTP...
Bei dem PSftp Pro Client funktioniert eine automatische Synchronisation z.B. nur, wenn man explizit MDTM in den Ooptionen des Programms deaktiviert. Ansonsten wird die Synchronisation mit Fehlermeldung abgebrochen:
"Nr","SYNC_ID","Message","DateTime"
"0","2","Verbindung wird hergestellt. Server: lagerschuppen.dyndns.org, Port: 21","10.11.2006 11:34:28"
"1","2","220 ProFTPD 1.2.10 Server (Debian) [192.168.1.2]","10.11.2006 11:34:38"
"2","2","USER polonius","10.11.2006 11:34:38"
"3","2","331 Password required for polonius.","10.11.2006 11:34:38"
"4","2","Passwort wird gesendet","10.11.2006 11:34:38"
"5","2","230 User polonius logged in.","10.11.2006 11:34:38"
"6","2","FEAT","10.11.2006 11:34:38"
"7","2","211-Features:","10.11.2006 11:34:38"
"8","2","211-MDTM","10.11.2006 11:34:38"
"9","2","211-REST STREAM","10.11.2006 11:34:38"
"10","2","211-SIZE","10.11.2006 11:34:38"
"11","2","211-AUTH TLS","10.11.2006 11:34:38"
"12","2","211-PBSZ","10.11.2006 11:34:38"
"13","2","211-PROT","10.11.2006 11:34:38"
"14","2","211 End","10.11.2006 11:34:38"
"15","2","Die Synchronisierung wurde abgebrochen. Bitte MDTM Optionen prüfen","10.11.2006 11:34:38"
"16","2","Synchronisierung beendet.","10.11.2006 11:34:38"
Ich benutze ProFTPD 1.2.10 auf einem Debian 3.1 Sarge Sytem. Hier die ProFTPD Conf:
#
# /etc/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#
ServerName ******************
ServerType standalone
DeferWelcome off
#UseReverseDNS off
#IdentLookups off
debugLevel 6
ServerLog /var/log/proftpd.debug.log
#MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayFirstChdir .message
ListOptions "-l"
DenyFilter \*.*/
DefaultRoot ~
#AllowForeignAddress on
PassivePorts 50000 50500
# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd off
# Uncomment this if you would use TLS module:
TLSEngine on
# Uncomment this if you would use quota module:
#Quotas on
# Uncomment this if you would use ratio module:
#Ratios on
# Port 21 is the standard FTP port.
Port 21
#TimesGMT on
# 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
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask 022 022
# Normally, we want files to be overwriteable.
AllowOverwrite on
# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default.
#DelayEngine off
# A basic anonymous configuration, no upload directories.
# <Anonymous ~ftp>
# User ftp
# Group nogroup
# # We want clients to be able to login with "anonymous" as well as "ftp"
# UserAlias anonymous ftp
# # Cosmetic changes, all files belongs to ftp user
# DirFakeUser on ftp
# DirFakeGroup on ftp
#
# RequireValidShell off
#
# # Limit the maximum number of anonymous logins
# MaxClients 10
#
# # We want 'welcome.msg' displayed at login, and '.message' displayed
# # in each newly chdired directory.
# DisplayLogin welcome.msg
# DisplayFirstChdir .message
#
# # Limit WRITE everywhere in the anonymous chroot
# <Directory *>
# <Limit WRITE>
# DenyAll
# </Limit>
# </Directory>
#
# # Uncomment this if you're brave.
# # <Directory incoming>
# # # Umask 022 is a good standard umask to prevent new files and dirs
# # # (second parm) from being group and world writable.
# # Umask 022 022
# # <Limit READ WRITE>
# # DenyAll
# # </Limit>
# # <Limit STOR>
# # AllowAll
# # </Limit>
# # </Directory>
#
# </Anonymous>
#TLS
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log//proftpd_tls.log
TLSProtocol TLSv1
TLSRequired off
TLSRSACertificateFile /usr/local/etc/ftpcert/host.cert
TLSRSACertificateKeyFile /usr/local/etc/ftpcert/host.key
</IfModule>
Ich hab bis jetzt auch schon einige Zeit mit Recherche im Internet zu diesem Problem verbracht. Allerdings nicht wirklich fündig geworden...
Vielleicht weiß hier ja jemand Rat?!
Viele Grüße,
polonius