FTP-сервер для Linux-системы

Автор LongShad, 25 октября 2010 23:12:30

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

LongShad

Будем использовать vsftpd. Находим одноименный пакет в репозитории и устанавливаем. Появится новая учетная запись ftp. Она без пароля и с домашней папкой /home/ftp.
чтобы задать пароль:
passwd ftp
опять убрать пароль:
passwd -d ftp
Изменить домашнюю папку можно правкой файла /etc/passwd. Находите строчку с логином ftp. Или можно удалить учетную запись:
deluser ftp
и создать заново:
adduser --home каталог ftp
, указав новый путь к домашнему каталогу.
Все настройки в файле /etc/vsftpd.conf, а полное их описание:
man vsftpd.conf
Опция может принимать значение YES или NO. Вот некоторые из них:
listen
Вручную прослушивать порт. Файл запуска /etc/init.d/vsftpd должен быть прописан среди запускаемых служб в папке /etc/rc3 как ссылка. Это делается по умолчанию
Если NO, ftp-сервер сам запускаться не будет и его придется запускать через другую службу, например, inetd (разбираясь уже с ее настройками).
local_enable=YES
userlist_enable=YES
userlist_file=/etc/ftpusers.conf
Первая разрешает вход на ftp-ресурс под локальными учетными записями (н-р, под которой вы работаете). Вторая говорит что файл со списком разрешенных учетных записей задает опция userlist_file. Например, /etc/ftpusers.conf.
ssl_enable
Включить ли ssl-шифрование трафика?
Если да, то (обязательно!):
rsa_cert_file
rsa_private_key_file
Ключи шифрования. Первый должен быть с расширением pem, второй - key. Можете поискать в /usr/share походящие файлы.
anonymous_enable
Включить ли анонимный доступ через учетную запись ftp. Если да, то пароль можно ввести любой. Если нет, учетная запись будет подпадать под правила работы локальных учетных записей.

ПРИМЕР
В качестве примера - мой FTP:
ftp://82.209.125.224
Аноним отключен.
логин: ftp
пароль: taffer
Права доступа выставлены так, что доступно только чтение. Должны быть папки upload, pub и файл file с текстом hello.
Как видите, установить и настроить ftp-сервер очень просто :biggrin:.
Можете задать вопросы.
[Исправлено: LongShad, 25 окт. 2010 23:17]

Chuzhoi

ЦитироватьВ качестве примера - мой FTP:
ftp://82.209.125.224
Аноним отключен.
логин: ftp
Анонимус сешн маст юз энкрыпшн.

[Исправлено: Chuzhoi, 26 окт. 2010 7:20]

LongShad

Да, анонимный доступ отключен. Нужно входить с логином и паролем и обязательно по зашифрованному соединению. Так что через браузер не получится, только через ftp-клиент, поддерживающий ssl-шифрование.
Сейчас включил анонимный доступ. Можно вводить любой пароль и отключил требование обязательного шифрованного соединения:
anonymous_enable=YES
force_anon_logins_ssl=NO

Попробуйте подключиться теперь (должно работать через браузер)
[Исправлено: LongShad, 26 окт. 2010 7:39]

Chuzhoi


LongShad

Исправил отсутствие права на чтение папки upload.
Вернул назад требование ввести пароль и ssl-подключение на момент подключения.
Выложил неск. файлов. Читайте list.txt.
Как думаете, может создать отдельную тему для наполнения пробного сервера?

Chuzhoi

Анонимус сешн маст юз энкрыпшн.
Вообще, мне кажется, при наличии оного у Риффа еще один фтп-сервер вряд ли кого-то заинтересует. Или я чего-то не понимаю?

LongShad

Я просто показываю как легко настроить ftp-сервер на Linux и как он работает на реальном примере.
ЦитироватьАнонимус сешн маст юз энкрыпшн.
"Анонимный вход требует использовать шифрование". В браузерах нет такой возможности, заходи через ftp-клиент. Если отключить шифрование:
force_local_logins_ssl=NO
то браузер будет ругаться на то, что анонимный доступ запрещен. Хотя нет, у меня по-прежнему Мозилла говорит что "Анонимный вход требует использовать шифрование". Если отключить шифрование для анонимного пользователя (хотя сам он тоже отключен):
force_anon_logins_ssl=NO
То пишет "Permission Denied" (доступ запрещен). Если входить так:
ftp://ftp@IP
то есть пытаться войти в систему под логином, то все равно пишет "Требуется шифрованное соединение", что доказывает что браузеры это делать не умеют.
Сейчас отключил шифрование совсем:
ssl_enable=NO
Должен входить вот так:
ftp://ftp@IP
через браузер (пароль taffer).
[Исправлено: LongShad, 26 окт. 2010 20:25]

Chuzhoi

Цитировать"Анонимный вход требует использовать шифрование". В браузерах нет такой возможности, заходи через ftp-клиент. Если отключить шифрование:
force_local_logins_ssl=NO
то браузер будет ругаться на то, что анонимный доступ запрещен. Хотя нет, у меня по-прежнему Мозилла говорит что "Анонимный вход требует использовать шифрование". Если отключить шифрование для анонимного пользователя (хотя сам он тоже отключен):
force_anon_logins_ssl=NO
То пишет "Permission Denied" (доступ запрещен). Если входить так:
ftp://ftp@IP
то есть пытаться войти в систему под логином, то все равно пишет "Требуется шифрованное соединение", что доказывает что браузеры это делать не умеют.
Сейчас отключил шифрование совсем:
ssl_enable=NO
Да, мудрено.
На все без исключения (в количестве 2 штук) используемые мной фтп-серверы я раньше заходил Тотал Коммандером, не зная всего этого :)

LongShad

На публичных серверах исп-ся анонимный доступ - логин ftp или anonymous. Пароль любой, поэтому браузеры пишут IP-адрес, или не пишут ничего. Там, где исп-ся вход под аккаунтом с паролем, включают SSL-шифрование, хотя бы на этапе входа на сервер.