FTP (означава „Протокол за прехвърляне на файлове”) Е стандартен и стар мрежов протокол, използван за прехвърляне на файлове между клиент и сървър в компютърна мрежа. Той е изграден върху архитектура модел клиент-сървър, която предлага достъп до файлове и директории чрез FTP клиент, за качване на файлове на сървъра, както и изтегляне на файлове от него.
В предишната ни статия сме обяснили как да инсталирайте, конфигурирайте и защитете FTP сървъра в CentOS/RHEL 7 за прехвърляне на компютърни файлове между клиент и сървър в компютърна мрежа.
В тази статия ще опишем как да инсталирате, конфигурирате и защитите FTP сървър RHEL 8 за основно споделяне на файлове между компютри.
1. За да инсталирате защитен FTP пакет, използвайте следното команда dnf.
# dnf инсталирайте vsftpd.
2. Когато инсталацията приключи, трябва междувременно да стартирате услугата vsftpd, да я разрешите да стартира автоматично при стартиране на системата и след това да проверите състоянието, като използвате следното команди на systemctl.
# systemctl старт vsftpd. # systemctl активиране vsftpd. # systemctl статус vsftpd.
3. След това трябва да отворите FTP порт 21 на защитната стена на системата, за да позволи достъп до FTP услуги от външни системи.
# firewall-cmd --zone = public --permanent --add-port = 21/tcp. # firewall-cmd --zone = public --permanent --add-port = 45073/tcp. # защитна стена-cmd-презареждане.
4. За да конфигурирате FTP сървър, трябва да направите резервно копие на основния конфигурационен файл на 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 = ДА write_enable = ДА local_umask = 022 dirmessage_enable = ДА xferlog_enable = ДА connect_from_port_20 = ДА xferlog_std_format = ДА слушам = НЕ слушам_ipv6 = ДА pam_service_name = vsftpd
6. След това трябва да конфигурирате FTP, за да разрешите/откажете на потребителите достъп до FTP услуги въз основа на файла със списъка с потребители /etc/vsftpd.userlist.
По подразбиране потребителите, изброени в /etc/vsftpd.userlist
файлът е отказан достъп с userlist_deny
опцията е зададена на ДА
, ако userlist_enable = ДА
, позволява достъп.
Но, задавайки параметъра userlist_deny = НЕ
променя настройката, което означава, че само потребители, изрично изброени в userlist_file =/etc/vsftpd.userlist
ще бъде разрешено да влезе.
Затова добавете следните редове във вашия vsftpd.conf
конфигурационен файл (или ако вече съществуват, декомментирайте ги и задайте техните стойности, както е показано):
userlist_enable = YES # разреши достъп до списъка с потребителски имена от userlist_file userlist_file =/etc/vsftpd.userlist # съхранява потребителски имена. userlist_deny = НЕ
7. Сега добавете следните редове във вашия vsftpd.conf
конфигурационен файл към ограничаване на потребителите на FTP до техните домашни директории.
chroot_local_user = ДА #означава, че местните потребители ще бъдат поставени в хроот затвор, тяхната домашна директория след влизане по подразбиране. user_sub_token = $ USER local_root =/home/$ USER/ftp
Запазете промените във файла и го затворете.
8. Задайте следното логическо правило на SELinux, за да разрешите на FTP да чете/записва файлове от домашната директория на потребителя.
# semanage boolean -m ftpd_full_access --on.
9. Накрая рестартирайте vsftpd услуга, за да повлияе на всички промени, които направихме досега по -горе:
# рестартиране на systemctl vsftpd.
10. За да проверите дали горната настройка на FTP работи добре, започнете, като създадете потребител на FTP с командата useradd и създайте парола за този потребител.
# useradd -m -c "Tecmint HowTos" -s /bin /bash tecmint. # passwd tecmint.
11. След това добавете потребителя tecmint към файла /etc/vsftpd.userlist използвайки 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/файлове. # chown tecmint: tecmint/home/tecmint/ftp/files. # chmod 0700/home/tecmint/ftp/files/
14. Сега се свържете към FTP сървъра, като използвате всеки FTP клиент, както следва.
# ftp [защитен имейл]
Свързан към 192.168.56.100. 220 Добре дошли във FTP услугата на TecMint.com. 331 Моля, посочете паролата. Парола: 230 Входът е успешен. Тип отдалечена система е UNIX. Използване на двоичен режим за прехвърляне на файлове. ftp> ls.
Това е! В тази статия описахме как да инсталирате, конфигурирате и защитите FTP сървър в RHEL 8. В следващата ни статия ще покажем как да защитете FTP сървъра, използвайки SSL/TLS връзки. Дотогава останете с нас.