Ubuntu Server 18.04 LTSにTFTPサーバ(tftpd-hpa)をインストールします。ルータやスイッチの設定のバックアップ等で、TFTPサーバが使用したくなった場合のみ使用する想定です。
記事の目次
vsftpdのインストール
aptコマンドで、tfptdをインストールします。tftpは、稼働確認程度の使用を想定しています。
$ sudo apt install tftpd-hpa tftp-hpa
tftpdの起動状況確認をします。インストール直後には、起動がかかっています。リモートから接続確認してみましょう。
$ systemctl status tftpd-hpa ● tftpd-hpa.service - LSB: HPA's tftp server Loaded: loaded (/etc/init.d/tftpd-hpa; generated) Active: active (running) since Sun 2020-11-08 11:46:15 JST; 3min 58s ago
tftpd-hpaの自動機能の状態の確認
サービスを確認すると「generated」となっており、自動起動されます。
$ systemctl list-unit-files | grep tftpd-hpa tftpd-hpa.service generated
tftpd-hpaの設定の確認
tftpd-hpaの設定を確認します。ファイルを配置したり、アップロードされるディレクトリは、「TFTP_DIRECTORY」で指定します。
$ cat tftpd-hpa # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure"
アップロードを可能にするためには、「TFTP_OPTIONS」を以下のように「TFTP_OPTIONS="--secure --create"」に変更します。この設定を行わないと、putしたときに「Error code 1: File not found」のエラーでアップロードできません。
$ cat tftpd-hpa # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure --create"
ディレクトリのアクセス権の変更
アップロードを可能にするためは、ディレクトリのアクセス権の変更も行う必要があります。ダウンロードのみであれば、デフォルトのままで可能です。
$ ls -ld /var/lib/tftpboot drwxr-xr-x 2 root nogroup 4096 Nov 8 12:21 /var/lib/tftpboot $ sudo chgrp tftp /var/lib/tftpboot $ sudo chmod 775 /var/lib/tftpboot $ ls -ld /var/lib/tftpboot drwxrwxr-x 2 root tftp 4096 Nov 8 12:21 /var/lib/tftpboot
おわりに
tftpd-hpaで、アップロードを可能にするためには、設定変更が必要になります。
参考情報
関連記事
関連書籍(Amazon)