内容

概要

前提条件

要件

使用するコンポーネント

表記法

AIX の手順

/etc/inetd.conf - smit

ローカル TFTP の検証

ファイル権限とケースの確認

HP-UX の手順

/etc/inetd.conf - SAM

ローカル TFTP の検証

ファイル権限とケースの確認

Solaris 用の手順

/etc/inetd.conf

ローカル TFTP の検証

ファイル権限とケースの確認

truss

関連情報

概要

トリビアル ファイル転送プロトコル（TFTP） は、ネットワーク デバイスとのファイルの相互転送に使用されます。

前提条件

要件

この文書の読者は、UNIX の root アカウント、およびシステム管理インターフェイス ツール（SMIT）またはシステム管理マネージャ（SAM）へアクセス可能な、経験豊富な UNIXユーザであるものとします。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- IBM AIX 4.2 または IBM AIX 4.3

- HP-UX 10.20 または HP-UX 11.0

- Sun Solaris 2.6 または Solaris 2.8

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。

AIX の手順

/etc/inetd.conf - smit

SMTP アクセス メニューから TFTP サービスにアクセスするには、次の手順に従ってください。

ここから、さまざまな inetd サービスを利用できます。SMITの詳細については、『IBM Technical Documentation:AIX 4.3 。

loadrev コマンドまたは getfwrev コマンドを発行する際、WAN スイッチ ソフトウェアでは、ファイル名での単一のアルファベットによるスイッチ表記が大文字であり、/usr/users/svplus/images/ipxbpx にあるものと見なされます。TFTP の保護モードを使用するには、TFTP デーモン（tftpd）に関するマニュアル エントリを読んで、/etc/tftpaccess.ctl を維持しなければならないことに注意してください。

ローカル TFTP の検証

TFTP から localhost に対して TFTP 設定を確認させるには、次の方式を使用します。

cwm001% cd /tmp

cwm001% tftp localhost

tftp> bin

tftp> get /usr/users/svplus/images/ipxbpx/9231G.img

Received 784 bytes in 0.3 seconds

tftp> quit

cwm001%

cwm001% ls -al 9231G.img

-rw-r--r--   1 svplus   svplus       784 Feb 5 10:50 9231G.img

cwm001% diff /usr/users/svplus/images/ipxbpx/9231G.img 9231G.img

cwm001%

上記方式が失敗した場合は、問題の識別と解決のために、診断メッセージが表示されます。

ファイル権限とケースの確認

UNIX ユーザ nodoby として TFTP を実行します。ファイルは誰でも読み取り可能でなければなりません。また、パス内の全ディレクトリは、検索可能で読み取り可能でなければなりません。

cwm001% ls -al | more

total 4144

drwxr-xr-x   2 svplus   svplus     1902 Feb  6 15:44 .

drwxrwxrwt  10 svplus   svplus     2718 Feb  6 15:44 ..

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.000

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.001

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.002

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.003

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.004

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.005

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.006

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.007

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.008

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.009

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.010

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.011

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.012

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.013

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.014

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.015

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.016

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.017

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.018

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.019

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.020

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.021

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.022

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.023

-rw-r--r--   1 svplus   svplus     15148 Nov 29  1999 9230B.024

-rw-r--r--   1 svplus   svplus       784 Nov 29  1999 9230B.img

-rw-r--r--   1 svplus   svplus    502944 Mar 29  2000 rel-9230.pdf

cwm001%

HP-UX の手順

/etc/inetd.conf - SAM

SAM で、ネットワークおよび通信エリアから、ネットワーク サービスにアクセスします。

TFTP デーモン（tftpd）のデフォルト設定は、前述した通りです。TFTP サービスをイネーブルにすると、TFTP ユーザに対してパスワード エントリが作成されます。詳細については、tftp(1) と tftpd(1M) に関する HP-UX オンライン マニュアルのエントリ（man xxxx コマンドを使用）を参照してください。

loadrev コマンドまたは getfwrev コマンドを発行する際、WAN スイッチ ソフトウェアでは、ファイル名での単一のアルファベットによるスイッチ表記が大文字であり、/usr/users/svplus/images/ipxbpx にあるものと見なされます。TFTP の保護モードを使用するには、/tftpboot/usr/users/svplus/images/ipxbpx パス名を指定しなければなりませんが、この場合シンボリック リンクは使用できません。これを実現するには、ファイル階層を作成し、すべてのスイッチ ソフトウェアとファームウェアを /tftpboot の下に保存します。/usr/users/svplus/images/ipxbpx /tftpboot/usr/users/svplus/images/ipxbpxから指しているシンボリック リンクが存在することがあります。

ファイル名でスイッチ表記に小文字が使われていたり、Cisco WAN Manager（CWM）ワークステーションにそのファイルが存在しない場合、スイッチ ソフトウェアにより、CWM ワークステーションと通信できないというメッセージが誤表示されることがあります。

/etc/inetd.conf が修正されると、セキュア モードの tftp は次のようになります。

# Before uncommenting the "tftp" entry below, please make sure

# that you have a "tftp" user in /etc/passwd. If you don't

# have one, please consult the tftpd(1M) manual entry for

# information about setting up this service.

tftp        dgram udp wait   root /usr/lbin/tftpd   tftpd /tftpboot

inetd プロセスでは、HUP 信号を送信して、 /etc/inetd.conf の再読み込みを実行する必要があります。詳細については、HP-UXのtftp(1)およびtftpd(1M)のオンラインマニュアルのエントリを参照してください。

ローカル TFTP の検証

TFTP から localhost に対して TFTP 設定を確認させるには、次の方式を使用します。

cwm001% cd /tmp

cwm001% tftp localhost

tftp> bin

tftp> get /usr/users/svplus/images/ipxbpx/9231G.img

Received 784 bytes in 0.3 seconds

tftp> quit

cwm001%

cwm001% ls -al 9231G.img

-rw-r--r--   1 svplus   svplus       784 Feb 5 10:50 9231G.img

cwm001% diff /usr/users/svplus/images/ipxbpx/9231G.img 9231G.img

cwm001%

上記方式が失敗した場合は、問題の識別と解決のために、診断メッセージが表示されます。

ファイル権限とケースの確認

UNIX ユーザ nodoby として TFTP を実行します。ファイルは誰でも読み取り可能でなければなりません。また、パス内の全ディレクトリは、検索可能で読み取り可能でなければなりません。

cwm001% ls -al | more

total 4144

drwxr-xr-x   2 svplus   svplus     1902 Feb  6 15:44 .

drwxrwxrwt  10 svplus   svplus     2718 Feb  6 15:44 ..

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.000

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.001

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.002

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.003

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.004

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.005

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.006

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.007

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.008

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.009

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.010

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.011

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.012

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.013

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.014

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.015

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.016

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.017

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.018

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.019

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.020

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.021

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.022

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.023

-rw-r--r--   1 svplus   svplus     15148 Nov 29  1999 9230B.024

-rw-r--r--   1 svplus   svplus       784 Nov 29  1999 9230B.img

-rw-r--r--   1 svplus   svplus    502944 Mar 29  2000 rel-9230.pdf

cwm001%

Solaris 用の手順

/etc/inetd.conf

/etc/inetd.conf からの TFTP デーモン（tftpd）に対するデフォルト設定は、次のようになります。

#

# Tftp service is provided primarily for booting. Most sites run this

# only on machines acting as "boot servers."

#

tftp    dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd

#

loadrev コマンドまたは getfwrev コマンドを発行する際、WAN スイッチ ソフトウェアでは、ファイル名での単一のアルファベットによるスイッチ表記が大文字であり、/usr/users/svplus/images/ipxbpx にあるものと見なされます。TFTP の保護モードを使用するには、/tftpboot/usr/users/svplus/images/ipxbpx パス名を指定しなければなりませんが、この場合シンボリック リンクは使用できません。これを実現するには、ファイル階層を作成し、すべてのスイッチ ソフトウェアとファームウェアを /tftpboot の下に保存します。/usr/users/svplus/images/ipxbpx /tftpboot/usr/users/svplus/images/ipxbpxから指しているシンボリック リンクが存在することがあります。

スイッチ名に対するファイル名に小文字が使われているか、CWM ワークステーションにそのファイルが存在しない場合、スイッチ ソフトウェアでは誤って、CWM ワークステーションと通信できないというメッセージを表示することがあります。

/etc/inetd.conf を変更した後、保護モードの tftp は次のように表示されます。

#

# Tftp service is provided primarily for booting. Most sites run this

# only on machines acting as "boot servers."

#

tftp    dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -s /tftpboot

#

inetd プロセスでは、HUP 信号を送信して、 /etc/inetd.conf の再読み込みを実行する必要があります。

ローカル TFTP の検証

TFTP から localhost に対して TFTP 設定を確認させるには、次の方式を使用します。

cwm001% cd /tmp

cwm001% tftp localhost

tftp> bin

tftp> get /usr/users/svplus/images/ipxbpx/9231G.img

Received 784 bytes in 0.3 seconds

tftp> quit

cwm001%

cwm001% ls -al 9231G.img

-rw-r--r--   1 svplus   svplus       784 Feb 5 10:50 9231G.img

cwm001% diff /usr/users/svplus/images/ipxbpx/9231G.img 9231G.img

cwm001%

上記方式が失敗した場合は、問題の識別と解決のために、診断メッセージが表示されます。

ファイル権限とケースの確認

UNIX ユーザ nodoby として TFTP を実行します。ファイルは誰でも読み取り可能でなければなりません。また、パス内の全ディレクトリは、検索可能で読み取り可能でなければなりません。

cwm001% ls -al | more

total 4144

drwxr-xr-x   2 svplus   svplus     1902 Feb  6 15:44 .

drwxrwxrwt  10 svplus   svplus     2718 Feb  6 15:44 ..

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.000

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.001

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.002

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.003

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.004

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.005

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.006

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.007

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.008

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.009

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.010

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.011

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.012

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.013

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.014

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.015

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.016

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.017

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.018

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.019

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.020

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.021

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.022

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.023

-rw-r--r--   1 svplus   svplus     15148 Nov 29  1999 9230B.024

-rw-r--r--   1 svplus   svplus       784 Nov 29  1999 9230B.img

-rw-r--r--   1 svplus   svplus    502944 Mar 29  2000 rel-9230.pdf

cwm001%

truss

ｔｆｔｐ デーモンを起動する場合、inetd から実行されます。検索対象のファイルを特定した後、root tftpd プロセスから 子 ｔｆｔｐｄ プロセスが起動され、UNIX ユーザ nodoby として実行されます。これらのプロセスに対して truss コマンドを実行すると、動作状態の詳細が表示されます。次の例では、root tftpd プロセス で truss コマンドを実行すると、存在しない /usr/users/svplus/images/ipxbpx/9235B.img というファイルを開こうとしていることがわかります。

truss -fae -o /tmp/tftpd.truss -p 10748

注：この例では、ルートtftpdプロセスのプロセスIDは10748です。

# cat /tmp/tftpd.truss

10748:  psargs: in.tftpd

10748:  poll(0xEFFFDD88, 1, 60000)       (sleeping...)

10748:  poll(0xEFFFDD88, 1, 60000)                      = 1

10748:  recvfrom(0, "\001 / u s r / u s e r s".., 516, 0, 0x000245C4, 0x00023BF0) = 50

10748:  alarm(0)                                        = 0

10748:  so_socket(2, 1, 0, "", 1)                       = 3

10748:  bind(3, 0x0002362C, 16)                         = 0

10748:  fork()                                          = 10754

10754:  fork()          (returning as child ...)        = 10748

10754:  setegid(60001)                                  = 0

10754:  seteuid(60001)                                  = 0

10754:  stat("/usr/users/svplus/images/ipxbpx/9235B.img", 0xEFFFFC88) Err#2 ENOENT

10754:  setegid(0)                                      = 0

10754:  seteuid(0)                                      = 0

10754:  time()                                          = 982191999

10754:  write(4, " :8B0F7F\0\0\001\0020403".., 24)      = 24

10754:  llseek(0, 0, SEEK_CUR)                          Err#29 ESPIPE

10754:  _exit(0)

10748:  close(3)                                        = 0

10748:  poll(0xEFFFDD88, 1, 60000)      (sleeping...)

10748:  poll(0xEFFFDD88, 1, 60000)                      = 0

10748:  kill(10749, SIGKILL)                            = 0

10748:  llseek(0, 0, SEEK_CUR)                          Err#29 ESPIPE

10748:  _exit(0)

#

関連情報

- WAN スイッチ ソフトウェアおよびファームウェアをダウンロードするため、PC 上で TFTP を使用

- Tech Note：IP アプリケーション サービス

- テクニカルサポート - Cisco Systems