Пошаговый гайд
0) Отключаем SELinux если раньше это не сделали и перезагружаем сервер (если уверены что он нам не нужен или не умеем с ним работать). Если без отключения для заливки файлов должна помочь строка setsebool -P tftp_anon_write 1
sudo vi /etc/selinux/config SELINUX=disabled
1) Загружаем сервер, клиент и xinetd (без него никак, через него работает tftpd)
sudo yum install tftp tftp-server xinetd
2) Редактируем файл с конфигурацией /etc/xinetd.d/tftp.
sudo vi /etc/xinetd.d/tftp
Нас интересуют строки:
server_args – тут указываем пользователя (-u), права для создаваемых фалов в виде umask (-U) и папку
disable – тут отключаем отключение сервиса (по умолчанию сервис в конфиге отключен), ставим “no”
$ cat /etc/xinetd.d/tftp # default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -c -p -u tftpd -U 111 -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
3) Создаем пользователя с правами на папку
sudo useradd --no-create-home -s /sbin/nologin tftpd sudo chown tftpd:tftpd /var/lib/tftpboot sudo chmod 777 /var/lib/tftpboot
4) Перезагружаем сервис через xinetd
sudo systemctl restart xinetd
5) Разрешаем работу сервиса через firewall и перезагружаем его (мягко для применения правил без разрыва существующих коннектов)
sudo firewall-cmd --zone=public --add-service=tftp --permanent sudo firewall-cmd --reload sudo firewall-cmd --list-all
6) Добавляем сервисы в автозагрузку
sudo systemctl enable xinetd sudo systemctl enable tftp
7) Проверяем с другого сервера с tftp клиентом
tftp - заходим в режим клиента <10.1.1.1> - вводим IP сервера, на котором подняли tftpd put <file_test> - кладем файл
Enjoy 🙂