Настройка TFTP сервера (xinetd)

Устанавливаем все пакеты, связанные с тфтп сервером. В менеджере пакетов Synaptic нужно поставить галочку напротив tftpd.

Далее смотрим файл /etc/xinetd.conf.

# Simple configuration file for xinetd 
# 
# Some defaults, and include /etc/xinetd.d/ 

defaults 
{ 

# Please note that you need a log_type line to be able to use log_on_success 
# and log_on_failure. The default is the following : 
# log_type = SYSLOG daemon info 

}

includedir /etc/xinetd.d 

Последняя строка говорит о том, что сервисы должны располагаться по этому пути. Следовательно, создаю в /etc/xinetd.d файл tftp следующего содержания:

service tftp                                            
{ 
    socket_type = dgram
    protocol	= udp
    wait 	= yes
    user 	= root
    server 	= /usr/sbin/in.tftpd
    server_args = -s /home/dima/Tftpboot
    disable 	= no
}

где server_args - это путь к домашней папке, для которой нужно установить права на запись и чтение:

$ chmod a+x /home/dima/Tftpboot

Далее делаю killall xinetd. И запускаю его в режиме отладки с ключом -d.

$ xinetd -d

Смотрю на отладку. Если появляются какие-то ошибки, то надо разбираться по ним. Если сервис тфтп запустился, то сообщения должны иметь примерно следующий вид:

Service defaults

        Bind = All addresses.
        Only from: All sites
        No access: No blocked sites
        No logging

Service configuration: tftp

        id = tftp
        flags = IPv4
        socket_type = dgram
        Protocol (name,number) = (udp,17)
        port = 69
        wait = yes
        user = 0
        Groups = no
        PER_SOURCE = -1
        Bind = All addresses.
        Server = /usr/sbin/in.tftpd
        Server argv = in.tftpd -s /home/dima/Tftpboot
        Only from: All sites
        No access: No blocked sites
        No logging

14/1/20@17:09:34: DEBUG: 26667 {cnf_start_services} Started service: tftp

Проверить работоспособность очень просто. Для этого в соседнем терминале создаем файл — proba.txt. И произведем пересылку файла в пределах своего компьютера с помощью следующих команд:

$ tftp localhost
$ put proba.txt

Файл должен оказаться в домашней папке.