LinuxForum.Fans
Тема

Debian Настройка FTP-server (vsftpd, pure-ftpd)

Автор: santic 7 сообщений 4398 просмотров
#208217

Приветствую. Появилось пару вопросов по данным фтп-серверам. Сейчас у меня работает под Debian vsftpd, все бы ничего, но он отдает название файлов и папок клиентам в кодировке UTF-8. Получается, что если какой-нибудь пользователь зайдет на фтп с помощь браузера, который открывает страницы в кодировке cp1251, то он вместо кириллицы увидит кракозябы. В Интернете смотрел решения проблемы:

1) Скачать с одного сайта(который, к сожалению, не функционирует) патч и наложить его -> в итоге, получим возможность перекодировки налету.
2) Поставить системной локалью по-умолчанию cp1251. Пробовал, получил кракозябы в ssh при работе в mc + vsftpd так и отправляет кракозябы.
3) Клиент сам должен поставить отображение UTF-8 (firefox/iceweasel по дефолту cp1251 кодировку использует). Но не буду же я всем описывать последовательность действий по смене кодировки в бразуре/фтп-клиенте?

Еще нагуглил трюк:

Показать
#!/bin/bash
export LANG=ru_RU.cp1251
/usr/bin/vsftpd.rus $*

где vsftpd.rus - это копия исполняемого файла vsftpd. Увы, бинарник не нашел :D

Нашел клиент Pure-ftpd. Вроде как умеет выполнять те же функции(а так же с кодировкой все нормально), что и vsftpd, однако, он не умеет (а может и умеет, но я не знаю как) открывать скрытые папки (/pub/.skritayapapka), а эта фича нужна. + Не понял как корень указать.

Вопрос: 1) Как заставить vsftpd отправлять клиенту cp1251?
2) Pure-ftpd умеет открывать скрытые папки?
3) Как в ключах pure-ftpd указать корневую папку?

Спасибо за внимание! :)

#208240

Pure-Ftp умеет открывать скрытые папки, но в анонимном варианте ошибка: 553 Prohibited file name
Нагуглил решение. которое не понял X_X:

text
Problem solved. Server was using Pure-FTPd for file transfer. In confgiguration there was 
ProhibitDotfilesWrite yes 
ProhibitDotfilesRead yes 
So after changin it to 
ProhibitDotfilesWrite no 
ProhibitDotfilesRead no 
it worked. Hope this will also help others.
#208503
santic написал:
Pure-Ftp умеет открывать скрытые папки, но в анонимном варианте ошибка: 553 Prohibited file name
Нагуглил решение. которое не понял X_X:
text
Problem solved. Server was using Pure-FTPd for file transfer. In confgiguration there was 
ProhibitDotfilesWrite yes 
ProhibitDotfilesRead yes 
So after changin it to 
ProhibitDotfilesWrite no 
ProhibitDotfilesRead no 
it worked. Hope this will also help others.

А что там понимать?
В конфиге значения

ProhibitDotfilesWrite yes
ProhibitDotfilesRead yes

изменить на

ProhibitDotfilesWrite no
ProhibitDotfilesRead no
#208505

Хехе, pure-ftp не имеет так называемого конфига, т.е. конфигурация происходит при его запуске ключами.

#208519

Примерно так

Basicall, you just add files that represent commandline options to a directory /etc/pureftpd/conf/. For instance, to configure a trusted GID for which no chrooting takes place, pure-ftpd provides the --trustedgid option. To enable this as a configuration option, you create a file named TrustedGID and put the GID in that file.

Create symlink to add PureDB to authentication methods

#cd /etc/pure-ftpd/auth

#ln -s ../conf/PureDB 50pure

Disable PAM authentication unless you need it

#echo no > /etc/pure-ftpd/conf/PAMAuthentication

Disable UNIX authentication unless you need it

#echo no > /etc/pure-ftpd/conf/UnixAuthentication

Источник

#208654

durc, спасибо!
В общем, оставил vsftpd, потому что:
1) Настраивается с помощью конфига
2) Уже настроил все под него :D

Но тут еще вопросик появляется: Я в конфиге запретил пользователям (несколько учеток для фтп заведено) выходить за их фтпшные корневые каталоги по соображениям безопасности. Но мне тут понадобилось разрешить одному пользователю, то бишь мне выходить за фтпшный корень и дать возможность просматривать всю файловую систему сервера только себе. Можно ли сделать это и как?

#208658

Сделал, оказывается это легко: создаем файл chroot_list, где указываем пользователя, который может гулять по системе. В конфиге vsftp указываем месторасположение chroot_list:
[console]chroot_local_user=YES
chroot_list_file=/etc/chroot_list
chroot_list_enable=YES
[/console]

Войдите или зарегистрируйтесь, чтобы ответить.