barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)
Показаны сообщения с ярлыком FTP. Показать все сообщения
Показаны сообщения с ярлыком FTP. Показать все сообщения

понедельник, 1 октября 2012 г.

Xftp 4: кодировка имен файлов

Чтобы вместо русских букв в именах файлов при подключении к Linux-хостам не появлялись кракозябры, нужно:
File -> Properties -> Options -> Поставить галку "Use UTF-8 encoding"

среда, 30 мая 2012 г.

FTP сервер на Amazon EC2 (Ubuntu 12.04)

Развертывание ftp-сервера (в моем случае - pure-ftpd, хотя описанное здесь справедливо даже для виндового сервера) на Amazon EC2 имеет несколько особенностей. Если просто установить сервер и открыть в амазоновском файрволе порты 20 и 21, клиент, обращающийся к серверу через WAN, выдаст ошибку (текст приведен для клиента FileZilla):
Сервер отправил пассивный ответ с неопределяемым адресом. Использую существующий адрес сервера.
После чего вывалится ошибка, что невозможно соединиться с сервером. Причина следующая: во-первых, при инициализации пассивного соединения сервер кидает клиенту, по-видимому, свой IP-адрес внутри амазоновской локалки, когда надо бы кидать внешний IP. Эта проблема лечится созданием файла /etc/pure-ftpd/conf/ForcePassiveIP и записью в него внешнего IP-адреса сервера. Но ошибку подключения вызывает вовсе не это (т.к. эту проблему обходит сама FileZilla, используя для пассивного соединение тотже адрес, который был использован для инициализации соединения с сервером). Проблема тут в амазоновском файрволе, в котором не открыты порты для пассивных соединений. Какие порты используется pure-ftpd для пассивных соединений по-умолчанию, я искать не стал, а задал их явно, создав файл /etc/pure-ftpd/conf/PassivePortRange и записав в него:
40000 41000
Это укажет ftp-серверу на использование портов с 40000 по 41000 для пассивных соединений. Я задал такой узкий диапазон сознательно, по той причине, что мой сервер отнюдь не для массового использования ;) Теперь этот диапазон портов нужно открыть в амазоновском файрволе, и будет счастье =)

пятница, 13 апреля 2012 г.

Debian: Быстрая настройка pure-ftpd

pure-ftpd - один из многих ftp-серверов под Linux, но как-то так сложилось, что я использую именно его. Приведу небольшой пример его послеустановочной настройки в Debian.
Во-первых, идем в /etc/pure-ftpd/conf/. В некоторых системах все конфигурационные директивы собраны в один файл (типа /usr/local/etc/pure-ftpd.conf), в Debian же каждой конфигурационной директиве соответствует один файл в /etc/pure-ftpd/conf/, где имя файла совпадает с именем директивы (имя регистро-зависимо!), а значение директивы определяется содержимым этого файла:


По-моему не самое лучшее решение, но придется с этим мириться. 
По-умолчанию установлены настройки MinUID=1000 (что уже не даст зайти под системными пользователями, в т.ч. под root), NoAnonymous=yes (отключает анонимных клиентов), и включена PAM-аутентификация. Меня устраивает и UNIX-аутентификация, поэтому я задал в файле PAMAuthentication значение 'no', а в UnixAuthentication - 'yes'. Кстати, порядок использования средств аутентификации задается в /etc/pure-ftpd/auth символическими ссылками на соответствующие конфигурационные файлы в /etc/pure-ftpd/conf/:


Единственная опция, которую я решил добавить, это ChrootEveryone, чтобы пользователи блокировались в своей домашней директории. Для этого создаем файл ChrootEveryone, открываем его и записываем в него 'yes' (без кавычек).