Как установить Pure-FTPd с TLS и виртуальными пользователями на OpenSUSE Leap 42.1
На этой странице
- Шаг 1. Установите и настройте SuSEfirewall2
- Шаг 2. Установите и настройте Pure-FTPd
- Шаг 3. Настройка TLS/SSL для Pure-FTPd
- Шаг 4. Настройка виртуальных пользователей
- Шаг 5. Тестирование
- Справочник
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