linuxでtftpサーバの設定
今日、研究で使っているPCクラスタのネットワークスイッチ(CISCO製)の設定を変更した。実際には設定をファイルにダンプして、そのファイルを編集しただけで、まだ変更の反映はしていないんだけども。このとき、スイッチから設定ファイルをTFTPサーバにダンプしたわけだけど、そのTFTPサーバの設定にちょっと躓いたので、メモ。
サーバ | Debian 3.1 |
TFTPサーバパッケージ | tftpd-hpa |
サーバ起動モード | xinetd経由 |
サーバ起動オプション | -c -s /var/lib/tftpboot |
/var/lib/tftpbootパーミッション | 777 |
サーバにはちょっと古いDebian Sargeシステムを使用。TFTPサーバにはtftpd-hpaを使用。TFTPの使用頻度は少ないのでxinetd経由で起動することにした。/etc/xinetd.confに以下の内容を追加。パッケージインストール時に/etc/inetd.confにはtftpのエントリを追加してくれていたんだけど、なぜか実際に使用しているxinetdの設定ファイルは更新してくれなかった。
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -c -s /var/lib/tftpboot }
今回はスイッチからサーバにファイルを書き込むので、リモートホストからファイルをアップロードできるように、サーバの起動オプションに「-c」を追加。-cは新規ファイル作成を許可するオプション。また、tftpで使用するディレクトリにも書き込み権限が必要なので、/var/lib/tftpbootのパーミッションを777にした。書き込み許可の設定をするところでちょっとはまってしまった。