Имею такую проблему. Есть FreeBSD 4.11 на ней крутится ftpd
Всё работает нормально, но есть непонятная штука со временем создания файлов.
Если смотрю время создания файла по SSH то время будет следующее:
bash-2.05b# bash-2.05b# ls -la
-rw-rw---- 1 sam usersftp 53401 18 июн 13:05 SAR0568J.DBFт.е. 13.05
Если смотреть с помощью фтп клиента:
ftp> ls -la
200 PORT command successful.
150 Opening ASCII mode data connection for '/bin/ls'.
total 58904
-rw-rw---- 1 1012 1016 53401 Jun 18 09:05 SAR0568J.DBF
226 Transfer complete.
ftp: 967 байт получено за 0,24 (сек) со скоростью 4,11 (КБ/сек).т.е. 09:05
Разница получается в 4 часа.
Как сделать нормальное отображение времени?
>[оверквотинг удален]
>total 58904
>-rw-rw---- 1 1012 1016 53401 Jun
>18 09:05 SAR0568J.DBF
>226 Transfer complete.
>ftp: 967 байт получено за 0,24 (сек) со скоростью 4,11 (КБ/сек).
>
>т.е. 09:05
>
>Разница получается в 4 часа.
>Как сделать нормальное отображение времени?Можно попробовать решить созданием каталога etc в root-каталоге FTP-сервера и скопировать туда файл /etc/localtime. Либо запускать ftpd скриптом, в котором экспортируется переменная TZ.
>Можно попробовать решить созданием каталога etc в root-каталоге FTP-сервера и скопировать туда
>файл /etc/localtime. Либо запускать ftpd скриптом, в котором экспортируется переменная TZ.Да, сделал в root каталоге фтп сервера каталог etc и поместил в него localtime время стало показываться верно.
Немного не понятно со 2-ым методом. ftpd стартует не демоном а из inetd.conf
там строка вида:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l -lКак в этом случае можно экспортнуть эту TZ?
>[оверквотинг удален]
>него localtime время стало показываться верно.
>
>Немного не понятно со 2-ым методом. ftpd стартует не демоном а из
>inetd.conf
>там строка вида:
>ftp stream tcp
>nowait root /usr/libexec/ftpd
> ftpd -l -l
>
>Как в этом случае можно экспортнуть эту TZ?Попробовать написать простейший wrapper на shell, например, такой:
--->8---
#!/bin/shTZ=Europe/Moscow
export TZ/usr/libexec/ftpd -l -l
---8<---и в inetd.conf поместить вызов этого wrapper'а. Не проверял, но по логике работать должно. Хотя 1-й способ, ИМХО, идеологически более верный.
>[оверквотинг удален]
>#!/bin/sh
>
>TZ=Europe/Moscow
>export TZ
>
>/usr/libexec/ftpd -l -l
>---8<---
>
>и в inetd.conf поместить вызов этого wrapper'а. Не проверял, но по логике
>работать должно. Хотя 1-й способ, ИМХО, идеологически более верный.дело в том что домашних каталогов и пользователей много. не у всех один /home каталог в который chroot-ится пользователь, получается что эту /etc/localtime надо будет рассовать всем) А в случае с экспортом этим заниматься непридётся =)
>[оверквотинг удален]
>>/usr/libexec/ftpd -l -l
>>---8<---
>>
>>и в inetd.conf поместить вызов этого wrapper'а. Не проверял, но по логике
>>работать должно. Хотя 1-й способ, ИМХО, идеологически более верный.
>
>дело в том что домашних каталогов и пользователей много. не у всех
>один /home каталог в который chroot-ится пользователь, получается что эту /etc/localtime
>надо будет рассовать всем) А в случае с экспортом этим заниматься
>непридётся =)Тогда попробуйте через скрипт. Отпишитесь о результатах. :)
>>[оверквотинг удален]
>Тогда попробуйте через скрипт. Отпишитесь о результатах. :)Скриптом не работает( Только что проверил.