Здравствуйте. Задача, нетривиальная необходимо правильно настроить любой! фтп сервер. Что я имею ввиду под словом правильно? Я за сегодняшний день настроил 2 фтп сервера vsftpd и proftpd, перечитал кучу статей, патчил исходники, на предмет буквы 'Я', смотрел статьи тут же про перекодировки и т.д. но ничего не помогло.Проблема такая. Если создать папку с русским именем, а потом попытаться залить подпапки с файлами, то почему-то выскакивает сообщение после каждого файла:
"В ходе открытия папки на FTP-сервере произошла ошибка. Убедитесь, что у вас есть разрешение открывать эту папку." Причем файлы успешно заливаются! Ну как это побороть? Только не говорите про стандарты и т.д. начитался уже вдоволь :) Ну есть же фтп сервера, тот же Serv-U, который правильно умеет работать со всеми! клиентами. Может уже кто-нибудь перебарывал? Буду, очень благодарен если хотя бы направите на нужный дистрибутив. Сил уже нету перебирать эти кучи и искать доработки умельцев.Заранее Спасибо.
>Здравствуйте. Задача, нетривиальная необходимо правильно настроить любой! фтп сервер. Что я имею
>ввиду под словом правильно? Я за сегодняшний день настроил 2 фтп
>сервера vsftpd и proftpd, перечитал кучу статей, патчил исходники, на предмет
>буквы 'Я', смотрел статьи тут же про перекодировки и т.д. но
>ничего не помогло.
>
>Проблема такая. Если создать папку с русским именем, а потом попытаться залить
>подпапки с файлами, то почему-то выскакивает сообщение после каждого файла:
>"В ходе открытия папки на FTP-сервере произошла ошибка. Убедитесь, что у вас
>есть разрешение открывать эту папку." Причем файлы успешно заливаются! Ну как
>это побороть? Только не говорите про стандарты и т.д. начитался уже
>вдоволь :) Ну есть же фтп сервера, тот же Serv-U, который
>правильно умеет работать со всеми! клиентами. Может уже кто-нибудь перебарывал? Буду,
>очень благодарен если хотя бы направите на нужный дистрибутив. Сил уже
>нету перебирать эти кучи и искать доработки умельцев.
>
>Заранее Спасибо.
А ты пробывал другими клиентами заливать?
>А ты пробывал другими клиентами заливать?
Да нет, с другими клиентами все ок. Тот же vsftpd достаточно хорош (сейчас используется). А вот с осликои. Если бы хоть не видел что IE прекрасно работает с win/serv-u не просил, но если есть, может и под никсами тоже есть. Просто слишком большой фтп сервер 3Тб с прикрученым самописным веб интерфейсом, прокачка на 600мб/с, кучи пользователей. В общем очень, ну просто очень нужно побороть проблему.
Ты когда-нибудь монтировал виндовый рездел на диске к линуксу без указания опций перекодировки символов?, наверно видел какие там кракозяблики и знаки вопроса, так что покопай в эту сторону, заливаеш-то наверняка виндовым клиентом, а юних не может понять символов.
>Ты когда-нибудь монтировал виндовый рездел на диске к линуксу без указания опций
>перекодировки символов?, наверно видел какие там кракозяблики и знаки вопроса, так
>что покопай в эту сторону, заливаеш-то наверняка виндовым клиентом, а юних
>не может понять символов.Наврятли, проблема наверняка кроется просто в протоколе взаимодействия командами (FTP). Так вот где бы найти "русский" фтп.
Хотелось бы услышать спецов которые именно проделывали эти операции, а то может это только у меня такая проблема?
>Здравствуйте. Задача, нетривиальная необходимо правильно настроить любой! фтп сервер. Что я имею
>ввиду под словом правильно? Я за сегодняшний день настроил 2 фтп
>сервера vsftpd и proftpd, перечитал кучу статей, патчил исходники, на предмет
>буквы 'Я', смотрел статьи тут же про перекодировки и т.д. но
>ничего не помогло.
>
>Проблема такая. Если создать папку с русским именем, а потом попытаться залить
>подпапки с файлами, то почему-то выскакивает сообщение после каждого файла:
>"В ходе открытия папки на FTP-сервере произошла ошибка. Убедитесь, что у вас
>есть разрешение открывать эту папку." Причем файлы успешно заливаются! Ну как
>это побороть? Только не говорите про стандарты и т.д. начитался уже
>вдоволь :) Ну есть же фтп сервера, тот же Serv-U, который
>правильно умеет работать со всеми! клиентами. Может уже кто-нибудь перебарывал? Буду,
>очень благодарен если хотя бы направите на нужный дистрибутив. Сил уже
>нету перебирать эти кучи и искать доработки умельцев.
>
>Заранее Спасибо.хер знает чо там у вас за трабла. у меня proftpd практически в дефолтной инсталляции. на RedHat-7.3
виндузятники заливают русские файлы.
в окне Осла нормально отображаються русские буквы, как и в cute ftp pro, total cmd, cmd ftp и пр.
эти файлы в разделе ред хата отображаються вопросиками - фигня.
локаль ред хата переписал на cp-1251 и все стало зачупато.
>хер знает чо там у вас за трабла. у меня proftpd практически
>в дефолтной инсталляции. на RedHat-7.3
>виндузятники заливают русские файлы.
>в окне Осла нормально отображаються русские буквы, как и в cute ftp
>pro, total cmd, cmd ftp и пр.
>эти файлы в разделе ред хата отображаються вопросиками - фигня.
>локаль ред хата переписал на cp-1251 и все стало зачупато.Да нет, у меня с русским языком проблема выражается только когда будешь заливать папку Folder на фтп сервер, причем файлы заливаются! и все правильно работает, но эта ошибка дурацкая, которая отображается после залития каждого файла убивает желание заливать...
Папка
|
Folder
|
+ file1
+ file2
+ ...Не могли бы вы проэксперементировать ситуацию, что я описал?
>>хер знает чо там у вас за трабла. у меня proftpd практически
>>в дефолтной инсталляции. на RedHat-7.3
>>виндузятники заливают русские файлы.
>>в окне Осла нормально отображаються русские буквы, как и в cute ftp
>>pro, total cmd, cmd ftp и пр.
>>эти файлы в разделе ред хата отображаються вопросиками - фигня.
>>локаль ред хата переписал на cp-1251 и все стало зачупато.
>
>Да нет, у меня с русским языком проблема выражается только когда будешь
>заливать папку Folder на фтп сервер, причем файлы заливаются! и все
>правильно работает, но эта ошибка дурацкая, которая отображается после залития каждого
>файла убивает желание заливать...
>
>Папка
> |
> Folder
> |
> + file1
> + file2
> + ...
>
>Не могли бы вы проэксперементировать ситуацию, что я описал?
в том то и дело .. что почему то у меня никаких ошибок нет.. .
proftpd-1.2.9
>в том то и дело .. что почему то у меня
>никаких ошибок нет.. .
>proftpd-1.2.9
Может тогда кто-нибудь подскажет с какими настройками еще стоит поиграться? :(
>>в том то и дело .. что почему то у меня
>>никаких ошибок нет.. .
>>proftpd-1.2.9
>
>
>Может тогда кто-нибудь подскажет с какими настройками еще стоит поиграться? :(пока RFC на FTP не прочтете и не поймете В ЧЕМ ДЕЛО, ничего вам не поможет
и будете долго мучаться
>пока RFC на FTP не прочтете и не поймете В ЧЕМ ДЕЛО,
>ничего вам не поможет
>и будете долго мучаться
Слишком расплывчато...Но тем не менее кажется понял почему у redmoon все работало, у него наверно клиент Windows 2000 + IE (5.0 - 5.5). У меня WinXP + IE (6.0). (Выяснил опытным путем случайно проверяя на компах работу фтп сервера).
Не знаю имеет ли тогда смысл уходить с vsftpd, двухтысячным уже пользуется не более 11% - http://gs.spylog.ru/r/?reportId=13&categoryId=1
Понятно, ладно, всем большое спасибо, что посодействовали разборкам.
Буду рад выслушать если кому-то будет что добавить.
у меня ХП :)) СП2
вот конфигServerName "FuckFTPd"
ServerType standalone
DefaultServer on
ServerIdent on "ftp-server"
RootLogin on
Port 21
AllowForeignAddress on
Umask 022
MaxInstances 30
User ftp
Group ftp
MaxClients 30 "Too many connection"
#MaxClientsPerHosts 4 "%m clients already connect from your host, more clients can't connect!!!"
MaxLoginAttempts 3 "Too many tries to connect"
DisplayConnect /etc/proftpd/ftp_connect.msg
AllowOverride on
AllowOverwrite on
AccessDenyMsg "ATTENTION!!! ALL CONNECTIONS LOGED"
AccessGrantMsg "Now apload/download files"
DisplayGoAway "Good bye!!!"
TimeoutIdle 600
TimeoutLogin 600
TimeoutNoTransfer 600
TimeoutStalled 600
DefaultRoot / root
DefaultRoot ~
UseReverseDNS off
IdentLookups off
DenyFilter \*.*/
PathDenyFilter "(^|/)[-]"
TransferLog /var/log/proftpd/proftpd-transfer.log
SystemLog /var/log/proftpd/proftpd-error.log
ExtendedLog /var/log/proftpd/proftpd-extended.log read,write
<Limit LOGIN>
Order Allow,Deny
Allow from 172.23.1.
AllowUser dead
AllowUser ded
AllowUser pretender
AllowUser megatel
Deny from all
</Limit>
<Limit SITE_CHMOD>
IgnoreHidden off
Order deny,allow
AllowUser vysov
AllowUser krot
AllowUser radio
AllowUser apache
AllowUser neko
AllowUser photo
AllowUser ustasia
AllowUser dead
AllowUser belkin
AllowUser ded
AllowUser danil
AllowUser pretender
AllowUser megatel
</Limit>
<Anonymous /home/ftp>
User ftp
Group ftp
UserAlias anonymous ftp
MaxClients 30
<Limit WRITE>
DenyAll
</Limit>
<Directory /home/ftp/incoming>
<Limit WRITE>
AllowAll
</Limit>
</Directory>
</Anonymous>locale:
LANG=ru_RU.CP=1251
LC_CTYPE=ru_RU.CP=1251
LC_NUMERIC=ru_RU.CP=1251
LC_TIME=ru_RU.CP=1251
LC_COLLATE=ru_RU.CP=1251
LC_MONETARY=ru_RU.CP=1251
LC_MESSAGES=ru_RU.CP=1251
LC_PAPER=ru_RU.CP=1251
LC_NAME=ru_RU.CP=1251
LC_ADDRESS=ru_RU.CP=1251
LC_TELEPHONE=ru_RU.CP=1251
LC_MEASUREMENT=ru_RU.CP=1251
LC_IDENTIFICATION=ru_RU.CP=1251
LC_ALL=Осел 6-ой
>>пока RFC на FTP не прочтете и не поймете В ЧЕМ ДЕЛО,
>>ничего вам не поможет
>>и будете долго мучаться
>Слишком расплывчато...оба-на RFC слишком расплывчато!
в таком случае вам вряд ли что-то или кто-то поможет.
>Здравствуйте. Задача, нетривиальная необходимо правильно настроить любой! фтп сервер. Что я имею
>ввиду под словом правильно? Я за сегодняшний день настроил 2 фтп
>сервера vsftpd и proftpd, перечитал кучу статей, патчил исходники, на предмет
>буквы 'Я', смотрел статьи тут же про перекодировки и т.д. но
>ничего не помогло.
>
>Проблема такая. Если создать папку с русским именем, а потом попытаться залить
>подпапки с файлами, то почему-то выскакивает сообщение после каждого файла:
>"В ходе открытия папки на FTP-сервере произошла ошибка. Убедитесь, что у вас
>есть разрешение открывать эту папку." Причем файлы успешно заливаются! Ну как
>это побороть? Только не говорите про стандарты и т.д. начитался уже
>вдоволь :) Ну есть же фтп сервера, тот же Serv-U, который
>правильно умеет работать со всеми! клиентами. Может уже кто-нибудь перебарывал? Буду,
>очень благодарен если хотя бы направите на нужный дистрибутив. Сил уже
>нету перебирать эти кучи и искать доработки умельцев.
>
>Заранее Спасибо.
покажите конфиг ?
>покажите конфиг ?А они у меня в принципе стандартные, но чтоб не затягивать.
Вот vsftpdlisten_address=192.168.7.12
listen=YES
chroot_local_user=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=002
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
max_per_ip=2
log_ftp_protocol=YES
idle_session_timeout=30
data_connection_timeout=75
accept_timeout=15
connect_timeout=15
anon_max_rate=2621440Вот proftpd, это уже с использованием "ProFtpd по-русски. Изменение кодировки koi8->win1251 на лету" - http://www.opennet.me/base/patch/rus_proftpd.txt.html, но в принципе и без патча было также.
CharsetLocal KOI8-R
CharsetRemote CP1251
ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on
Port 21
Umask 000
MaxInstances 30
User nobody
Group nogroup
AllowOverwrite on
<Limit SITE_CHMOD>
DenyAll
</Limit>
<Anonymous ~ftp>
User ftp
Group ftp
UserAlias anonymous ftp
MaxClients 10
DisplayLogin welcome.msg
DisplayFirstChdir .message
<Limit WRITE>
AllowAll
</Limit>
</Anonymous>
вот что касается профтпд, у меня тоже самое, примерно, но только без
CharsetLocal KOI8-R
CharsetRemote CP1251
локаль ОС перебита на сп-1251
Русская буква я в кодировке АНСИ1251 имеет код 255. Этот же код имеет символ EOF. Если программист использует проверку на этот символ, вместо того, чтобы проверять флаг закрытия при помощи, например, feof, то первая же русская буква я будет и последней :) Цитата из мана:RETURN VALUE
fgetc(), getc() and getchar() return the character read as
an unsigned char cast to an int or EOF on end of file or
error.Очень похоже, что мы тут имеем именно такой случай.