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

Краткая инструкция по установке и быстрой настройке FTP-сервера ProFTPd на FreeBSD

Устанавливаем proftpd из пакетов:

# pkg install proftpd

После этого добавим пользователей 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

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

# shutdown -r now

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

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

исправим значение ServerName

ServerName "My First ProFTPd server"

после строчки

DefaultServer on

впишем такую:

DefaultAddress localhost

закомментируем использование UseIPv6, если он не используется

# UseIPv6                               on

раскомментируем строку

DefaultRoot ~

Теперь откроем /etc/rc.conf

# vi /etc/rc.conf

и в нём пропишем строчку:

proftpd_enable="YES"

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

# openssl req -x509 -days 1461 -nodes -newkey rsa:1024 -keyout /etc/ssl/certs/proftpd.pem -out /etc/ssl/certs/proftpd.pem -subj "/C=RU/ST=MSK/L=Moscow/O=HappyCompany/OU=IT Department/CN=www.domain.com"

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

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

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

LoadModule mod_tls.c

<IfModule mod_tls.c>
TLSEngine on
TLSRequired on
TLSRSACertificateFile /etc/ssl/certs/proftpd.pem
TLSRSACertificateKeyFile /etc/ssl/certs/proftpd.pem
TLSCipherSuite ALL:!ADH:!DES
# TLSOptions NoCertRequest
TLSVerifyClient off
TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
TLSLog /var/log/proftpd_tls.log
</IfModule>

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

# service proftpd start

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

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

Ваш адрес email не будет опубликован.