Для чего нужен FTP сервер, рассказывать нет необходимости. Во FreeBSD присутствует свой стандартный FTP-сервер, но меня он не совсем устраивает, в силу привычки я предпочитаю Proftpd.
Предлагаю рассмотреть, как быстро развернуть и запустить Proftpd на базе FreeBSD.
1. Устанавливаем и добавляем в автозагрузку
cd /usr/ports/ftp/proftpd
make install clean
echo 'proftpd_enable="YES"' >> /etc/rc.conf
2. Редактируем файл конфигурации
Файл конфигурации находится по адресу /usr/local/etc/proftpd.conf
# Use IPv6 support by default.
UseIPv6 off #- отключаем поддержку IPv6
DefaultRoot ~ #- снимаем комментарий с этой строки. Так наши клиенты не смогут ходить за пределы своей домашней директории, иначе клиент сможет видеть все файлы сервера
#Добавляем ведение логов
LogFormat default "%h %l %u %t "%r" %s %b"
TransferLog /var/log/proftpd_transferlog
ServerLog /var/log/proftpd_serverlog
SystemLog /var/log/proftpd_systemlog
# Для поддержки кириллицы в именах файлов
<IfModule mod_lang.c>
UseEncoding utf-8 cp-1251
</IfModule>
Если нам необходим гостевой (анонимный) доступ, создаем директорию для анонимного доступа
mkdir /data/ftp
mkdir /data/ftp/anonymous
chmod -R 777 /data/ftp/anonymous/
и добавляем секцию в файл конфигурации
<Anonymous /data/ftp/anonymous/>
User><------><------><------>ftp
Group<------><------><------><------>ftp
UserAlias<-><------><------>anonymous ftp
<Limit WRITE>
AllowAll
</Limit>
</Anonymous>
Проверяем, существует ли пользователь ftp
cat /etc/passwd | grep ftp
если нет, тогда создаем:
# adduser
Username: ftp
Full name: FTP User
Uid (Leave empty for default):
Login group [ftp]:
Login group is ftp. Invite ftp into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/ftp]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]: no
Lock out the account after creation? [no]:
Username : ftp
Password : <disabled>
Full Name : FTP User
Uid : 1002
Class :
Groups : ftp
Home : /home/ftp
Home Mode :
Shell : /bin/sh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (ftp) to the user database.
Add another user? (yes/no): no
Goodbye!
Осталось только запустить
/usr/local/etc/rc.d/proftpd start
Starting proftpd.
Можно свободно подключаться к нашему FTP-серверу, если во время подключения ввести логин/пароль существующего пользователя, Вы попадете в домашнюю директорию данного пользователя, при анонимном (пользователь anonymous) подключении, Вы попадете в директорию /data/ftp/anonymous
Если есть необходимость расширенной настройки подключения, например, чтобы при анонимном подключении были директории, которые только для чтения и директории с полным доступом, пишите в комментариях, я подготовлю и выложу пример блока конфигурационного файла.
UPD. Если Вашему серверу не присвоено доменное имя, рекомендую в конфигурационный файл добавить директиву
DefaultAddress 10.10.10.10
Где 10.10.10.10 - IP-адрес вашего сервера, можно указать несколько IP-адресов и/или доменных имен, разделяя пробелами.
Комментариев нет:
Отправить комментарий