Proftp проблемы с кодировкой у клиентов.

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

uscr
Сообщения: 152
ОС: Fedora

Proftp проблемы с кодировкой у клиентов.

Сообщение uscr »

Здравствуйте.
FreeBSD 8.1 (не "русифицирована", если это важно)

Использую proftp в качестве FTP сервера. Недавно возникла проблема отображения названий русских файлов в виндовых клиентах. РЕшил установкой директивы UseEncoding UTF-8 cp1251 в конфиге. Но с этой директивой русские имена не отображаются в линуксовых клиентах. Как победить?

Полный конфик proftp:

Код: Выделить всё

#
# For more informations about Proftpd configuration
# look at : http://www.proftpd.org/
#
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName "PROGRESS FTP"
ServerType standalone
DefaultServer on
#ScoreboardFile /var/run/proftpd/proftpd.scoreboard

# Port 21 is the standard FTP port.
Port 21

# Use IPv6 support by default.
UseIPv6 off

UseEncoding UTF-8 cp1251
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# 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

CommandBufferSize 512

# Set the user and group under which the server will run.
User nobody
Group nogroup

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~

# Normally, we want files to be overwriteable.
AllowOverwrite on

# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
DenyAll
</Limit>

# A basic anonymous configuration, no upload directories. If you do not
# want anonymous users, simply delete this entire <Anonymous> section.

#########################################################################
# #
# Uncomment lines with only one # to allow basic anonymous access #
# #
#########################################################################

<Anonymous ~ftp>
User anon_ftp
Group anon_ftp

### We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous anon_ftp

### 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
# <Limit WRITE>
# DenyAll
# </Limit>
</Anonymous>

ServerIdent off
ServerIdent off
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: Proftp проблемы с кодировкой у клиентов.

Сообщение /dev/random »

В ftp имя файла - просто набор байт. И как этот набор байт понимать - дело клиента.

Из ситуации есть три выхода:
1) заставить всех клиентов работать в одной и той же кодировке (некоторые ftp-клиенты умеют выбирать кодировку, но большинство всегда работает в системной);
2) не использовать русских букв в именах;
3) использовать вместо ftp какой-нибудь протокол, знающий, что такое кодировка.

Всё. Других вариантов нет.

Upd: а, да, ещё можно поднять 2 ftp-сервера: один для линуксоидов, другой для виндузятников. Но это модификация варианта 1: все клиенты каждого из этих серверов будут работать в одной и той же кодировке.
Спасибо сказали: