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

Инструкция по установке и быстрому запуску FTP-сервера vsFTPd на CentOS 8.4.

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# yum install vsftpd
# yum install vsftpd
# yum install vsftpd

установится, если добавлен репозиторий AppStream

или

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# dnf install vsftpd
# dnf install vsftpd
# dnf install vsftpd

Затем откроем файл /etc/vsftpd/vsftpd.conf

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# vi /etc/vsftpd/vsftpd.conf
# vi /etc/vsftpd/vsftpd.conf
# vi /etc/vsftpd/vsftpd.conf

здесь необходимо будет:

раскомментировать

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
chroot_local_user=YES
chroot_local_user=YES
chroot_local_user=YES

убедиться в наличии строки

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
userlist_enable=YES
userlist_enable=YES
userlist_enable=YES

а также добавить такие строчки:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
allow_writeable_chroot=YES
pasv_min_port=30000
pasv_max_port=31000
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
rsa_cert_file=/etc/pki/tls/vsftpd.pem
rsa_private_key_file=/etc/pki/tls/vsftpd.pem
ssl_enable=YES
allow_writeable_chroot=YES pasv_min_port=30000 pasv_max_port=31000 userlist_file=/etc/vsftpd/user_list userlist_deny=NO rsa_cert_file=/etc/pki/tls/vsftpd.pem rsa_private_key_file=/etc/pki/tls/vsftpd.pem ssl_enable=YES
allow_writeable_chroot=YES
pasv_min_port=30000
pasv_max_port=31000
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO

rsa_cert_file=/etc/pki/tls/vsftpd.pem
rsa_private_key_file=/etc/pki/tls/vsftpd.pem
ssl_enable=YES

После этого добавим правила в файрволл

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# firewall-cmd --add-port=20-21/tcp --zone=public --permanent
# firewall-cmd --add-port=30000-31000/tcp --zone=public --permanent
# firewall-cmd --reload
# firewall-cmd --add-port=20-21/tcp --zone=public --permanent # firewall-cmd --add-port=30000-31000/tcp --zone=public --permanent # firewall-cmd --reload
# firewall-cmd --add-port=20-21/tcp --zone=public --permanent
# firewall-cmd --add-port=30000-31000/tcp --zone=public --permanent
# firewall-cmd --reload

Теперь сгенерируем сертификат для vsftpd

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# openssl req -x509 -nodes -days 1461 -newkey rsa:2048 -keyout /etc/pki/tls/vsftpd.pem -out /etc/pki/tls/vsftpd.pem
# openssl req -x509 -nodes -days 1461 -newkey rsa:2048 -keyout /etc/pki/tls/vsftpd.pem -out /etc/pki/tls/vsftpd.pem
# openssl req -x509 -nodes -days 1461 -newkey rsa:2048 -keyout /etc/pki/tls/vsftpd.pem -out /etc/pki/tls/vsftpd.pem

здесь необходимо будет ввести некоторые данные:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Country Name (2 letter code) [XX]:RU
State or Province Name (full name) []:MSK
Locality Name (eg, city) [Default City]:Moscow
Organization Name (eg, company) [Default Company Ltd]:HappyCompany
Organizational Unit Name (eg, section) []:IT Department
Common Name (eg, your name or your server's hostname) []:happycompany.com
Email Address []:it@happycompany.com
Country Name (2 letter code) [XX]:RU State or Province Name (full name) []:MSK Locality Name (eg, city) [Default City]:Moscow Organization Name (eg, company) [Default Company Ltd]:HappyCompany Organizational Unit Name (eg, section) []:IT Department Common Name (eg, your name or your server's hostname) []:happycompany.com Email Address []:it@happycompany.com
Country Name (2 letter code) [XX]:RU
State or Province Name (full name) []:MSK
Locality Name (eg, city) [Default City]:Moscow
Organization Name (eg, company) [Default Company Ltd]:HappyCompany
Organizational Unit Name (eg, section) []:IT Department
Common Name (eg, your name or your server's hostname) []:happycompany.com
Email Address []:it@happycompany.com

Затем добавим пользователя ftpuser

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# adduser ftpuser
# adduser ftpuser
# adduser ftpuser

и запаролим его

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# passwd user2
# passwd user2
# passwd user2

Далее откроем файл /etc/vsftpd/user_list

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# vi /etc/vsftpd/user_list
# vi /etc/vsftpd/user_list
# vi /etc/vsftpd/user_list

и в самом конце добавим строчку с именем нового пользователя

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ftpuser
ftpuser
ftpuser

Запускаем службу vsftpd и добавим её в автозагрузку

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# systemctl start vsftpd
# systemctl enable vsftpd
# systemctl start vsftpd # systemctl enable vsftpd
# systemctl start vsftpd
# systemctl enable vsftpd

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

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

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