15.06.2017

Установка Proftpd на FreeBSD

Для чего нужен 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-адресов и/или доменных имен, разделяя пробелами.

Комментариев нет:

Отправить комментарий