Tftpd
Обзор
TFTP (Trivial File Transfer Protocol) - очень простой протокол передачи файлов, нет аутентификации, нет поддержки каталогов, нет листинга файлов
CentOS 7
TFTP сервер на базе xinetd, позволяет забирать файлы, позволяет принимать файлы, в том числе не существующие.
yum install tftp-server xinetd useradd --no-create-home -s /sbin/nologin tftpd chown tftpd:tftpd /var/lib/tftpboot chmod 777 /var/lib/tftpboot vi /etc/xinetd.d/tftp # правим строки server_args = -c -p -u tftpd -U 111 -s /var/lib/tftpboot disable = no # описание по опциям можно посмотреть так # man tftpd systemctl enable xinetd systemctl enable tftp systemctl start xinetd systemctl start tftp firewall-cmd --zone=public --add-service=tftp --permanent firewall-cmd --reload firewall-cmd --list-all
Ubuntu 20.04
TFTP сервер на базе xinetd, позволяет забирать файлы, позволяет принимать только существующие файлы. Чтобы принять файл, нужно в рабочем каталоге сервиса предварительно создать пустой файл с тем же именем.
sudo apt-get install tftpd useradd --no-create-home -s /sbin/nologin tftpd mkdir /var/lib/tftpboot chown tftpd:tftpd /var/lib/tftpboot chmod 777 /var/lib/tftpboot
Конфигурация сервиса tftp
Определение сервиса можно задать в файле /etc/inetd.conf
, при этом необходимо убедиться, что файла /etc/xinetd.d/tftp
либо нет, либо определение сервиса в нем выключено.
nano /etc/inetd.conf # Находим строку tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp # Меняем пользователя и рабочий каталог tftp dgram udp wait tftpd /usr/sbin/tcpd /usr/sbin/in.tftpd /var/lib/tftpboot
Есть другой способ конфигурации сервиса tftp, при его использовании в файле /etc/inetd.conf
необходимо закоментировать строку его определения.
nano /etc/xinetd.d/tftp service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = tftpd server = /usr/sbin/in.tftpd server_args = /var/lib/tftpboot disable = no }
После конфигурации сервиса tftp, необходимо перезапустить сервис xinetd
systemctl restart xinetd