FTP-сервер vsFTPd на FreeBSD

Краткое руководство по установке и быстрой настройке FTP-сервера vsFTPd на FreeBSD.

В первую очередь установим пакет

# pkg install vsftpd-ssl

После этого добавим пользователей user1 и user2, которые будут подключаться. Каждый будет входить в группу ftp, оболочка — nologin, домашние каталоги: net/user1/ и /net/user2/, а также будут иметь пароль.

# adduser
Username: user1
Full name: First User
Uid (Leave empty for default):
Login group [user1]: ftp
Login group is ftp. Invite user1 into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]: nologin
Home directory [/home/user1]: /net/user1
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]: yes
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : user1
Password   : *****
Full Name  : First User
Uid        : 1001
Class      :
Groups     : ftp
Home       : /net/user1
Home Mode  :
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (user1) to the user database.
Add another user? (yes/no): yes
Username: user2
Full name: Second User
Uid [1002]:
Login group [user2]: ftp
Login group is ftp. Invite user2 into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]: nologin
Home directory [/net/user2]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]: yes
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : user2
Password   : *****
Full Name  : Second User
Uid        : 1002
Class      :
Groups     : ftp
Home       : /net/user2
Home Mode  :
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (user2) to the user database.
Add another user? (yes/no): no
Goodbye!

Затем открываем файл /etc/shells

# vi /etc/shells

и в самом конце дописываем строчку: /usr/sbin/nologin

На этом этапе лучше всего будет перезагрузить машину

Далее открываем файл /usr/local/etc/vsftpd.conf

# vi /usr/local/etc/vsftpd.conf

если не нужен анонимный доступ, закомментируем строчку:

anonymous_enable=YES

раскомментируем там следующие строчки:

local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
background=YES

исправим listen=NO

на listen=YES

и в конце файла добавим: allow_writeable_chroot=YES

В /etc/rc.conf добавляем автозагрузку службы:

vsftpd_enable=»YES»

Затем подключим SSL-сертификат. Для этого запустим несколько команд, которые сгенерирует сертификат для vsFTPd

# openssl genrsa -out /etc/ssl/certs/vsftpd.key
# openssl req -new -key /etc/ssl/certs/vsftpd.key -out /etc/ssl/certs/vsftpd.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 -req -days 1461 -in /etc/ssl/certs/vsftpd.csr -signkey /etc/ssl/certs/vsftpd.key -out /etc/ssl/certs/vsftpd.pem

После этого откроем файл /usr/local/etc/vsftpd.conf

# vi /usr/local/etc/vsftpd.conf

и в нём пропишем параметры сертификата:

rsa_cert_file=/etc/ssl/certs/vsftpd.pem  #путь к открытому ключу
rsa_private_key_file=/etc/ssl/certs/vsftpd.key  #путь к закрытому ключу
ssl_enable=YES         #разрешает использование шифрования

allow_anon_ssl=NO     #разрешает использовать SSL анонимным пользователям
force_local_data_ssl=NO     #требует использования шифрования, и если установить YES, клиенты без шифрования не смогут подключиться
force_local_logins_ssl=NO     #также требует подключение по SSL
ssl_tlsv1=YES     #использовать TLS версии 1
ssl_sslv2=NO     #использовать SSL версии 1 и 2
ssl_sslv3=NO     #
ssl_ciphers=HIGH     #выбор шифра. В данном примере мы говорим использовать максимально безопасный

Запускаем службу vsftpd

# service vsftpd start

и теперь к серверу можно подключиться.

Источник: https://dondub.com/2021/06/ftp-server-vsftpd-na-freebsd/
https://www.dmosk.ru/miniinstruktions.php?mini=vsftpd-ubuntu#virtuser

Довольны?
[Оценок: 0 средняя: 0]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *