web-dev-qa-db-ja.com

新しいファイルのアップロードを許可するようにtftpd-hpaを構成する方法は?

複数のCiscoスイッチとルーターを備えた52 uラックがあります。また、kvmがインストールされたubuntuサーバーもあります。私は、tftpサーバーとして使用するためにubuntu 12.04をインストールしたvm w /を作成し、それとネットワーク機器との間でイメージを転送しました。このサイトなどのさまざまなガイドに従って、tftp-hpa、tftpd-hpa、xinetdをインストールしました。

多大な苦痛とフラストレーションの後、ホスト上でローカルに、またWindowsマシンからtftpできました。問題は、次のコマンドを使用して、/ var/lib/tftpbootディレクトリの「no​​body」ユーザーの下にあるサーバーにアップロードするファイルごとに空のファイルを作成する必要があることです。

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

BOTTOM LINE UP FRONT:上のコマンドを使用して最初にファイルを作成することなく、必要なファイルを「tftp put」できるようにしたいだけです。高価なものを壊し始める前に私を助けてください! 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

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.

server_argsを次のように変更します。

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

Tftpdを起動して実行するためにxinetdは必要ありません。これは私がtftpdをインストールして設定する方法です:

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

/ etc/default/tftpd-hpaを編集して、-cTFTP_OPTIONSに挿入します。行は次のようになります。

TFTP_OPTIONS="--secure -c"

最後に、tftpdサービスを再起動します。

Sudo service tftpd-hpa restart
6
Eric Carvalho