🇭🇳 Как установить, настроить и защитить FTP-сервер в RHEL 8 |

🇭🇳 Как установить, настроить и защитить FTP-сервер в RHEL 8

Мануал

FTP (расшифровывается как «Протокол передачи файлов») – это стандартный и старый сетевой протокол, используемый для передачи файлов между клиентом и сервером в компьютерной сети.

Он построен на архитектуре модели клиент-сервер, которая предлагает доступ к файлам и каталогам через FTP-клиент, для загрузки файлов на сервер, а также для загрузки файлов с него.

В этой статье мы хотим описать, как установить, настроить и защитить FTP-сервер на RHEL 8 для базового обмена файлами между компьютерами.

Установите FTP-сервер на RHEL 8

1. Чтобы установить защищенный FTP-пакет, используйте следующую команду dnf.

# dnf install vsftpd

2. После завершения установки вам необходимо запустить службу vsftpd, включить ее автоматический запуск в системе  используя следующие команды systemctl.

# systemctl start vsftpd
# systemctl enable vsftpd
# systemctl status vsftpd

3. Затем вам нужно открыть ftp порт 21 на системном брандмауэре, чтобы разрешить доступ к службам ftp из внешних систем.

# firewall-cmd --zone=public --permanent --add-port=21/tcp
# firewall-cmd --zone=public --permanent --add-port=45073/tcp
# firewall-cmd --reload

Настройте FTP-сервер на RHEL 8

4. Для настройки на FTP-сервер необходимо использовать файл конфигурации файла резервной копии /etc/vsftpd/vsftpd.conf с помощью следующей команды копирования.

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

5. Затем откройте файл конфигурации, используя ваш любимый редактор командной строки.

# vi /etc/vsftpd/vsftpd.conf

Установите следующие параметры с этими соответствующими значениями (см. Man vsftpd.conf для просмотра значений параметров конфигурации):

anonymous_enable=NO             
local_enable=YES		
write_enable=YES		
local_umask=022		        
dirmessage_enable=YES	        
xferlog_enable=YES		
connect_from_port_20=YES        
xferlog_std_format=YES          
listen=NO   			
listen_ipv6=YES		        
pam_service_name=vsftpd

6. Далее необходимо настроить ftp, чтобы разрешить / запретить пользователям доступ к службам ftp на основе файла списка пользователей /etc/vsftpd.userlist.

По умолчанию пользователям, перечисленным в файле /etc/vsftpd.userlist, запрещен доступ с параметром userlist_deny, установленным на YES, если userlist_enable = YES, он разрешает доступ.

Но, установив параметр userlist_deny = NO, вы установите другие параметры, что означает, что только пользователи явно перечисленые в userlist_file = /etc/ vsftpd.userlist смогут войти в систему.

Поэтому добавьте следующие строки в файл конфигурации vsftpd.conf (или, если он уже существует, раскомментируйте их и установите их значения, как показано далее):

userlist_enable=YES                   # разрешить доступ к списку имен пользователей из userlist_file
userlist_file=/etc/vsftpd.userlist    # хранит имена пользователей.
userlist_deny=NO

7. Теперь добавьте следующие строки в файл конфигурации vsftpd.conf, чтобы ограничить пользователей FTP их домашними каталогами.

chroot_local_user=YES		#means local users will be placed in a chroot jail, their home directory after login by default settings.
user_sub_token=$USER         	
local_root=/home/$USER/ftp

Сохраните изменения в файле и закройте его.

8. Установите следующее логическое правило SELinux, чтобы разрешить FTP читать / записывать файлы домашнего каталога пользователя.

# semanage boolean -m ftpd_full_access --on

9. Наконец, перезапустите службу vsftpd, чтобы внести все изменения, которые мы сделали выше:

# systemctl restart vsftpd

Тестирование FTP-сервера на RHEL 8

10. Чтобы проверить, работает ли вышеуказанная настройка FTP, начните с создания пользователя FTP с помощью команды useradd и создайте пароль для этого пользователя.

# useradd -m -c "Tecmint HowTos" -s /bin/bash tecmint
# passwd tecmint

11. Затем добавьте пользовательский tecmint в файл /etc/vsftpd.userlist с помощью команды echo следующим образом.

# echo "tecmint" | tee -a /etc/vsftpd.userlist
# cat /etc/vsftpd.userlist

12. Затем создайте альтернативный локальный корневой каталог для пользователя (tecmint, ваш, вероятно, другой) и установите соответствующие разрешения для этого каталога.

# mkdir -p /home/tecmint/ftp
# chown nobody:nobody /home/tecmint/ftp
# chmod a-w /home/tecmint/ftp

13. Затем создайте каталог внутри локального корневого каталога, где пользователь хочет хранить свои файлы.

# mkdir /home/tecmint/ftp/files
# chown tecmint:tecmint /home/tecmint/ftp/files
# chmod 0700 /home/tecmint/ftp/files/

14. Теперь подключитесь к серверу ftp, используя любой клиент ftp, следующим образом.

# ftp tecmint@192.168.56.100

Пример вывода

Connected to 192.168.56.100
220 Welcome to TecMint.com FTP service.
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий