Como configurar o tftpd-hpa para permitir o upload de novos arquivos?

6

Eu tenho um rack de 52 u com vários switches Cisco e roteadores. Eu também tenho um servidor ubuntu w / kvm instalado. Eu criei um vm w / ubuntu 12.04 instalado para uso como um servidor tftp para transportar imagens entre ele e meu equipamento de rede. Eu instalei o tftp-hpa, tftpd-hpa e xinetd nele por vários guias neste site e outros.

Depois de muita dor e frustração, consegui me deslocar localmente no host e na minha máquina windows. A única coisa é que eu tenho que criar arquivos vazios para cada arquivo que eu quero enviar para o servidor sob o usuário "nobody" no diretório / var / lib / tftpboot usando o seguinte comando:

sudo -u nobody sh <<< "cd /var/lib/tftpboot; touch filename; chmod 777 filename" 

Bottom Line Up FRONT: Eu quero simplesmente poder "colocar tftp" qualquer arquivo que eu queira sem ter que usar o comando acima para criar um arquivo primeiro. Por favor me ajude antes de eu começar a quebrar coisas caras! Aqui está o meu xinetd.d tftp config:

service tftp
  {
        disable                 = no
        socket_type             = dgram
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -v -s /var/lib/tftpboot
  }
    
por user265141 04.04.2014 / 03:01

1 resposta

6

De página de manual do tftpd :

--create, -c
      Allow new files to be created.   By  default,  tftpd  will  only
      allow  upload  of  files  that already exist.  Files are created
      with default permissions allowing anyone to read or write  them,
      unless the --permissive or --umask options are specified.

Altere server_args para:

server_args             = -c -v -s /var/lib/tftpboot

Você não precisa do xinetd para obter o tftpd instalado e funcionando. É assim que eu instalo e configuro o tftpd:

sudo aptitude install tftpd-hpa
sudo chown -R tftp /var/lib/tftpboot

Edite o / etc / default / tftpd-hpa para inserir -c em TFTP_OPTIONS . A linha deve se parecer com:

TFTP_OPTIONS="--secure -c"

Finalmente, reinicie o serviço tftpd:

sudo service tftpd-hpa restart
    
por Eric Carvalho 04.04.2014 / 04:05