目錄

簡介

必要條件

需求

採用元件

慣例

用於AIX的過程

/etc/inetd.conf - smit

驗證本地TFTP

驗證檔案許可權/案例

HP-UX過程

/etc/inetd.conf - SAM

驗證本地TFTP

驗證檔案許可權/案例

Solaris過程

/etc/inetd.conf

驗證本地TFTP

驗證檔案許可權/案例

桁架

相關資訊

簡介

簡單式檔案傳輸通訊協定(TFTP)用於在網路裝置之間傳輸檔案。

必要條件

需求

本文檔的讀者應是具有訪問UNIX根帳戶和系統管理介面工具(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

要從SMIT訪問選單訪問TFTP服務，請遵循以下路徑：

從此，您可以操作各種inetd服務。有關SMIT的詳細資訊，請參閱IBM技術文檔：AIX 4.3 。

當您發出loadrev命令或getfwrev命令時，WAN交換機軟體期望檔名上的單個字母交換機名稱為大寫，且位於/usr/users/svplus/images/ipxbpx中。要使用TFTP的安全模式，請閱讀TFTP守護程式(tftpd)的手動條目，並注意/etc/tftpaccess.ctl需要維護。

驗證本地TFTP

使用此方法可以通過TFTP驗證本地主機的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%

如果上述方法失敗，則提供診斷消息來識別和解決問題。

驗證檔案許可權/案例

TFTP作為UNIX使用者nobody運行。檔案必須由任何人讀取，路徑中的所有目錄都必須可搜尋且可讀取。

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使用者建立密碼條目。有關詳細資訊，請參閱HP-UX針對tftp(1)和tftpd(1M)的線上手動條目(使用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的符號連結。

如果檔名具有小寫字元作為交換機名稱，或者CWM工作站上不存在該檔案，則交換機軟體可能錯誤地聲稱無法與Cisco WAN Manager(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。有關詳細資訊，請參閱tftp(1)和tftpd(1M)的HP-UX線上手動條目。

驗證本地TFTP

使用此方法可以通過TFTP驗證本地主機的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%

如果上述方法失敗，則提供診斷消息來識別和解決問題。

驗證檔案許可權/案例

TFTP作為UNIX使用者nobody運行。檔案必須由任何人讀取，路徑中的所有目錄都必須可搜尋且可讀取。

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驗證本地主機的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%

如果上述方法失敗，則提供診斷消息來識別和解決問題。

驗證檔案許可權/案例

TFTP作為UNIX使用者nobody運行。檔案必須由任何人讀取，路徑中的所有目錄都必須可搜尋且可讀取。

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%

桁架

呼叫tftp守護程式時，會從inetd呼叫它。在標識要查詢的檔案後，根tftpd進程將呼叫子tftpd進程，該進程以UNIX使用者nobody運行。針對這些進程運行truss命令可提供所發生事件的詳細資訊。在以下示例中，根tftpd進程被信任，並顯示它正在嘗試開啟不存在的檔案/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)

#

相關資訊

- 在PC上使用TFTP下載WAN交換機軟體和韌體

- 《 IP Application Services技術說明》

- 技術支援 - Cisco Systems