Поиск по сайту:

Как установить Pure-FTPd с TLS и виртуальными пользователями на OpenSUSE Leap 42.1


На этой странице

  1. Шаг 1. Установите и настройте SuSEfirewall2
  2. Шаг 2. Установите и настройте Pure-FTPd
  3. Шаг 3. Настройка TLS/SSL для Pure-FTPd
  4. Шаг 4. Настройка виртуальных пользователей
  5. Шаг 5. Тестирование
  6. Справочник

Pure-FTPd — это бесплатный и легкий FTP-сервер, основанный на Troll-FTPd, разработка которого началась в 2001 году и работает на многих Unix-подобных ОС, включая Linux, *BSD, Solaris и HP-UX. Pure-FTPd имеет множество функций, таких как виртуальные домены, домашний каталог chroot, виртуальные пользователи, поддержка TLS/SSL, виртуальные квоты и многое другое.

В этом руководстве я покажу вам, как установить и настроить pure-ftpd на OpenSUSE Leap 42.1. Я покажу вам, как настроить pure-ftpd с TLS/SSL, а затем настроить виртуальных пользователей.

Предпосылка

  • Переход OpenSUSE 42.1
  • Привилегии root
  • OpenSUSE, знания Zypper

Шаг 1. Установите и настройте SuSEfirewall2.

SuSEfirewall2 — это сценарий для создания конфигурации брандмауэра в файле /etc/sysconfig/SuSEfirewall2. Мы установим SuSEfirewall2, а затем откроем порты для SSH и службы FTP.

Установите SuSEfirewall2 с zypper:

zypper in SuSEfirewall2

Затем отредактируйте файл конфигурации /etc/sysconfig/SuSEfirewall2 с помощью vim:

vim /etc/sysconfig/SuSEfirewall2

Добавьте новые службы ssh и FTP в строку 253:

FW_SERVICES_EXT_TCP="ssh ftp"

Сохранить и выйти.

Теперь запустите SuSEfirewall2 с помощью команды systemctl:

systemctl start SuSEfirewall2

Шаг 2 — Установите и настройте Pure-FTPd

На этом шаге мы установим pure-ftpd с OpenSSL для конфигурации TLS/SSL и настроим пользователя и группу pure-ftpd.

Установите приложения с помощью zypper, как показано ниже:

zypper in pure-ftpd openssl

Теперь добавьте в группу новую группу ftpgroup и нового пользователя для главного пользователя FTP с именем ftpuser.

groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Перейдите в каталог pure-ftpd и отредактируйте файл конфигурации pure-ftpd.conf с помощью редактора vim:

cd /etc/pure-ftpd/
vim pure-ftpd.conf

Измените значение в строке 81 на yes для отключения анонимного пользователя.

NoAnonymous                 yes

Раскомментируйте строку 131, чтобы настроить серверную часть. Pure-ftpd поддерживает MySQL, PostgreSQL и LDAP в качестве серверной части, но в этом руководстве мы будем использовать PureDB для поддержки.

PureDB                        /etc/pure-ftpd/pureftpd.pdb

Закомментируйте строку PAMAuthentication, чтобы отключить аутентификацию PAM в строке 141, поскольку мы будем использовать PureDB в качестве источника аутентификации.

#PAMAuthentication             yes

Сохранить и выйти.

Шаг 3. Настройте TLS/SSL для Pure-FTPd

Создайте новый файл самоподписанного сертификата в каталоге /etc/ssl/private с помощью команды openssl:

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365

Измените права доступа к файлу сертификата на 0600:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Затем вернитесь в каталог pure-ftpd и отредактируйте файл конфигурации, чтобы включить поддержку TLS/SSL для клиентского соединения.

cd /etc/pure-ftpd/
vim pure-ftpd.conf

Раскомментируйте строку 439, чтобы включить TLS.

TLS                      1

Раскомментируйте строку 449 и добавьте новую опцию, чтобы сделать ее более безопасной.

TLSCipherSuite           HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3

Раскомментируйте строку 445, чтобы определить файл сертификата.

CertFile                 /etc/ssl/private/pure-ftpd.pem

Сохранить и выйти.

Теперь запустите pure-ftpd с помощью команды systemctl:

systemctl start pure-ftpd

Шаг 4. Настройка виртуальных пользователей

Pure-FTPd предоставляет функции для создания и использования виртуальных пользователей вместо пользователей реальной системы (Linux). Pure-FTPd предоставляет несколько бэкендов аутентификации, а конфигурация виртуального пользователя зависит от бэкенда, используемого сервером. На шаге 2 мы установили PureDB в качестве серверной части.

Мы можем создать нового виртуального пользователя с помощью команды pure-pw, предоставленной pure-ftpd. На этом шаге мы создадим нового виртуального пользователя с именем shiro с каталогом /srv/ftp/shiro в качестве домашнего каталога ftp, и пользователь будет привязан к этому каталогу, чтобы он не мог получить доступ к другим системным каталогам.

Создайте нового виртуального пользователя с помощью pure-pw:

pure-pw useradd shiro -u ftpuser -d /srv/ftp/shiro

Создайте каталог для виртуального пользователя и измените владельца этого каталога на главного пользователя FTP.

mkdir -p /srv/ftp/shiro
chown -R ftpuser.ftpgroup /srv/ftp/shiro

Далее мы должны сохранить изменения с помощью команды ниже:

pure-pw mkdb

Теперь пользователь shiro готов к использованию, мы можем использовать FTPp из командной строки или FileZilla для графического интерфейса для подключения к серверу.

Примечание:

pure-pw имеет больше параметров команды, вы можете использовать справку pure-pw, чтобы увидеть все полезные команды.

Шаг 5 - Тестирование

Я буду использовать команду FTP в терминале для тестирования. Откройте терминал и введите \ftp\:

ftp

Затем введите IP-адрес сервера pure-ftpd:

open 192.168.43.69

Войдите в систему с пользователем shiro и паролем, а затем нажмите Enter.

Попробуйте загрузить файл командой put:

put picture.png mypict.png

Теперь вы увидите файл mypict.png на сервере с командой ls ниже:

ls

Ссылка

  • https://www.novell.com/coolsolutions/feature/11418.html