当我们使用ftp
命令或 ftp 客户端连接到 Linux 服务器时,显示的文件的修改时间与会话中显示的时间不同telnet
。
例如,我有一些*.dat
文件,命令或客户端/home/abc/
中显示的最后修改时间是 19:30。但是当我在会话中ftp
执行操作时,它显示 03:30。telnet 会话中显示的最后修改时间是正确的。ls -l
telnet
是不是有什么设置出了问题?
答案1
两年后,今天我发现问题的根源在于 FTP 时间戳设置为 GMT,而不是遵循本文中强调的正确设置的时区。网址
但在 URL 中,对 进行了更改/etc/proftpd.conf
。此 Linux 服务器使用 vsftpd。因此解决方案略有变化。
编辑vsftpd
配置文件并将此内容附加到其中use_localtime=YES
。然后重新启动vsftpd
以下是我执行的更详细的步骤:
- 以非 root 用户身份登录
su
到root
查找
ftpd
正在运行的程序。对于此服务器,它正在使用vsftpd
$ ps -ef | grep ftpd
复制配置文件。
使用编辑器编辑
vsftpd
配置文件。$ vim /etc/vsftpd/vsftpd.conf
添加选项
use_localtime
并将值设置为YES
。默认值为NO
use_localtime=YES
重新启动 ftpd 服务
$ /sbin/service vsftpd restart
$ /sbin/service vsftpd status
使用 ftp 重试登录并检查文件时间戳。
答案2
我对此不太确定,但也许您的客户端上的时区设置与服务器上的不同?这可能会导致您的 ftp 客户端显示的时间偏移量不正确。
答案3
很久以前,我的 FTP 也遇到过类似的问题,但两台服务器都位于同一个 GMT 区域... 问题是软件本身具有“GMT”配置属性。您是否检查过服务和服务器的所有可能配置?
检查 NTP,也许在您手动输入正确的时间后他正在更新。