FTP – это протокол передачи файлов. Программы, использующие этот протокол, стали частью отдельного сервиса Интернет. Для пользования FTP нужна специальная программа – FTP-клиент. FTP-клиент - это сервисная программа, с помощью которой можно произвести соединение с FTP сервером. Обычно эта программа имеет командную строку, но некоторые имеют оконный интерфейс и не требуют запоминания команд. Пример FTP-клиента - программы CuteFTP, Go!Zilla, ReGet и т.д, называются они менеджерами загрузки. У них удобный интерфейс и позволяют пользователям удобно осуществлять загрузку-выгрузку файлов.
FTP-сервер - компьютер, который содержит общедоступные файлы и настроен на поддержку протокола FTP (FTP-сервер должен иметь программное обеспечение, поддерживающее протокол FTP).
И так приступим к настройке нашего FTP сервера, вся установка проводилась на FreeBSD v_7.1. Нам понадобятся следующие пакеты:
|
Так же для связки FTP с AD необходимо что бы машина с FreeBSD была включена в домен Windows. Статья, которая описывает процедуру введения машины с FreeBSD в домен - FreeBSD и AD.
Устанавливаем базу данных MySQL, пример настройки и установки я не буду приводить, думаю в интернете есть большое количество статей :)
Настроим сначала связку vsftpd и AD, для этого устанавливаем vsftpd со следующими опциями:
|
После того как vsftpd установлен, необходимо создать пользователя 'ftp' с домешнем каталогом, в который будут логиниться anonymous и создать файл конфигурации в каталоге /usr/local/etc есть файл vsftpd.conf.dist, его можно переименовать в vsftpd.conf, но лучше сделать с нуля:
|
После создания файла vsftpd.conf приступаем к внесению конфигурационных опций :) Созданный нами конфиг предполагает работу vsftpd в качестве анонимного сервера и сервера с авторизацией юзеров из AD. По желанию можно отключить одно из двух :)
|
После того как настроили vsftpd, создаём файл с именем 'ftp' в /etc/pam.d, если он отсутствует, со следующим содержанием:
|
Делаем проверку:
|
Настроим теперь vsftpd с MySQL :)
Как говорилось выше, базу данных MySQL установили и запустили, всё работает. Создаём необходимую базу и таблицу, в которой будут храниться наши юзвери :)
|
Создадим тестового пользователя, пароль будет шифроваться алгоритмом MD5, заданный алгоритм определят параметр crypt=3 в файле /etc/pam.d/ftp, листинг которого приводится ниже:
|
После создания базы, таблицы и пользователя необходимо установить pam-mysql и создать файл с именем 'ftp' в каталоге /etc/pam.d, если он отсутствует, со следующим содержанием:
|
После всех операций в конфиге vsftpd.conf, который был представлен выше необходимо изменить:
|
Делаем проверку:
|
Важно:
- Для доступа к MySQL создайте отдельного пользователя с минимальными привилегиями
- Представленный конфиг vsftpd.conf подходит также для работы с локальными пользователями, аутентификация определяется с помощью pam.