FreeBSD: vsftpd - кодировка имен файлов |
|
Написал Ярослав Гасов
|
06.10.2011 |
Столкнулся со следующей проблемой: vsftpd не дает возможности закачать файл, в имени которого используется кириллица... (Важный момент: изначально я настраивал доступ для уже существующих локальных пользователей) Начал "гуглить"... Нашел кучу информации о проблемах с кодировками и даже проект патченного vsftpd. Однако ларчик открывался очень просто! Оказалось, что либо vsftpd сам обращает внимание на служебные файлы пользователя типа ".login" и ".profile", в которых обычно при грамотных настройках shell прописываются кодировки, либо делает это через какую-то вспомогательную библиотеку при работе с файловой системой. Поэтому при создании отдельного пользователя для работы только по протоколу FTP (/etc/passwd: ...nologin) со своей домашней директорией (например, /home/ftp_user_1) и последующем удалении всех служебных файлов из этой директории, все начинает работать как часы. Остается только принудительно установить необходимую кодировку в FTP-клиенте. Вывод можно сделать только один: vsftpd не идеален и не рассчитан на работу со всеми локальными пользователями (Вы же не будете удалять служебные файлы, если пользователю также нужен и shell...).
|