1. Установка FTP-сервера
В базовую поставку FreeBSD входит стандартный системный FTP-сервер. Однако он обладает неочевидной настройкой и крайне низкой функциональностью. Поэтому покажем использование протокола FTP на примере наиболее безопасного на данный момент FTP-сервера Pure-FTP.
Также, как и Apache, Pure-FTP присутствует в коллекции портов. Для его установки необходимо выполнить следующие шаги:
1. Перейти в каталог порта Pure-FTP категории ftp:
# cd /usr/ports/ftp/pure-ftpd
2. Собрать порт Pure-FTP:
# make
3. Установить собранный порт:
# make install
Настройка Pure-FTP
Для активизации запуска Pure-FTP при загрузке ОС в файл /etc/rc.conf нужно добавить строку pureftpd_enable="YES”.
Для того, чтобы добиться необходимой нам функциональности сервиса, нужно проделать следующие действия:
1. Скопировать пример файла конфигурации на место основного файла конфигурации:
Cp /usr/local/etc/pure-ftp.conf.sample /usr/local/etc/pure-ftp.conf
2. Изменить в файле конфигурации следующие параметры:
Включить разрешение (resolving) имён хостов в файлах протоколов. Это стоит сделать, так как DNS-сервер – это та же машина, что и FTP-сервер:
DontResolve no
Разрешить аутентификацию по системной базе данных пользователей. Это необходимо, так как отдельная база данных пользователей создаваться не будет:
UnixAuthentication yes
3. Создать группу ftp командой:
# pw group add ftp -g 21
4. Создать пользователя ftp командой:
# pw user add ftp -u 21 -g 21 –s /usr/sbin/nologin –h /var/ftp
5. Создать домашний каталог пользователя ftp, который одновременно будет являться корнем для функционирования FTP-сервера[1]:
# mkdir /var/ftp
6. Настроить протоколирование работы службы:
Для протоколированая работы сервиса FTP в конец файла конфигурации системы протоколирования /etc/syslog.conf требуется дописать строки:
!ftp
*.* /var/log/ftp
и создать файл /var/log/ftp командой:
# touch /var/log/ftp
После этого требуется перезапустить систему протоколирования командой:
# /etc/rc.d/syslog restart
7. Создать файл информации об FTP-сервере.
Пользователю, вошедшему на FTP-сервер, иногда бывает полезно получить информацию о том сервере, на который он зашел. Для этого в корень FTP-сервера часто помещают файл README, в который помещают эту информацию. В нашем случае этот файл (/var/ftp/README) состоит всего из одной строки:
This is main FTP-server of domain3.ru domain.[2]
Запуск Pure-FTP
Для запуска Pure-FTP нужно выполнить следующую команду:
# /usr/local/etc/rc.d/pure-ftpd.sh start