web-dev-qa-db-fra.com

Comment configurer tftpd-hpa pour permettre le téléchargement de nouveaux fichiers?

J'ai un rack 52 u avec plusieurs commutateurs et routeurs Cisco. J'ai aussi un serveur Ubuntu W/KVM installé. J'ai créé un vm w/ubuntu 12.04 installé pour servir de serveur TFTP afin de transporter des images entre ce dernier et mon équipement réseau. J'ai installé tftp-hpa, tftpd-hpa et xinetd dessus, conformément aux divers guides de ce site et à d’autres.

Après beaucoup de douleur et de frustration, j'ai été capable de travailler localement sur l'hôte et à partir de ma machine Windows. Le problème est que je dois créer des fichiers vides pour chaque fichier que je veux télécharger sur le serveur sous l'utilisateur "nobody" dans le répertoire/var/lib/tftpboot à l'aide de la commande suivante:

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

BOTTOM LINE UP FRONT: Je veux simplement pouvoir "tftp mettre" tout fichier que je veux sans avoir à utiliser la commande ci-dessus pour créer un fichier en premier. S'il vous plaît aidez-moi avant que je commence à casser des choses chères! Voici ma config xinetd.d tftp:

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

De page de manuel de 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.

Remplacez server_args par:

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

Vous n'avez pas besoin de xinetd pour que tftpd soit opérationnel. Voici comment installer et configurer tftpd:

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

Modifiez/etc/default/tftpd-hpa pour insérer -c dans TFTP_OPTIONS. La ligne devrait ressembler à:

TFTP_OPTIONS="--secure -c"

Enfin, redémarrez le service tftpd:

Sudo service tftpd-hpa restart
6
Eric Carvalho