В данной статье рассматривается установка и быстрая настройка FTP-сервера ProFTPd на Debian GNU/Linux 10.10 и Ubuntu Server 21.04.
Для начала установим proftpd
# apt install proftpd
Служба ProFTPd должна запуститься автоматически после установки. Проверяем
# systemctl status proftpd
После ввода команды консоль должна показать примерно такое сообщение:
Loaded: loaded Active: active (running)
Теперь откроем файл /etc/proftpd/proftpd.conf
# nano /etc/proftpd/proftpd.conf
Здесь необходимо:
закомментировать UserIPv6 on
изменить значение ServerName
раскомментировать
DefaultRoot ~ RequireValidShell off
Затем добавим группу ftpgroup
# /usr/sbin/groupadd ftpgroup
и пользователей user1 и user2
# /usr/sbin/useradd user1 -g ftpgroup -s /bin/false -d /home/user1 # /usr/sbin/useradd user2 -g ftpgroup -s /bin/false -d /home/user2
и запаролим их
# passwd user1 # passwd user2
Создадим для них домашние каталоги
# mkdir /home/user{1,2}
И дадим права на них
# chown -R user1:ftpgroup /home/user1 # chown -R user2:ftpgroup /home/user2
Затем подключим SSL-сертификат. Для этого запустим несколько команд, которые сгенерирует сертификат для ProFTPd
# openssl genrsa -out /etc/ssl/private/proftpd.key # openssl req -new -key /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.csr
здесь необходимо будет ввести некоторые данные:
Country Name (2 letter code) [AU]:RU State or Province Name (full name) [Some-State]:MSK Locality Name (eg, city) []:Moscow Organization Name (eg, company) [Internet Widgits Pty Ltd]:YourCompany Organizational Unit Name (eg, section) []:IT Dept Common Name (e.g. server FQDN or YOUR name) []:Your Public IP Email Address []:it@yourcompany.com
и наконец
# openssl x509 -signkey /etc/ssl/private/proftpd.key -in /etc/ssl/certs/proftpd.csr -req -days 1461 -out /etc/ssl/certs/proftpd.crt # openssl x509 -req -days 1461 -in /etc/ssl/certs/proftpd.csr -signkey /etc/ssl/private/proftpd.key -out /etc/ssl/certs/CA.pem
Далее откроем файл /etc/proftpd/tls.conf
# nano /etc/proftpd/tls.conf
и раскомментируем следующие строчки:
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSCACertificateFile /etc/ssl/certs/CA.pem TLSOptions NoCertRequest EnableDiags TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired TLSOptions AllowClientRenegotiations TLSVerifyClient off TLSRequired on TLSRenegotiate required off </IfModule>
После этого снова откроем файл /etc/proftpd/proftpd.conf
# nano /etc/proftpd/proftpd.conf
и раскомментируем строку:
Include /etc/proftpd/tls.conf
Теперь можно перезапустить службу proftpd
# systemctl restart proftpd
и подключиться любым FTP-клиентом.