Ubuntu下配置tftp服務

來源:互聯網
上載者:User

Ubuntu下配置tftp服務

1.安裝TFTP軟體


釋放許可權:(伺服器目錄,需要設定許可權為777,chomd 777)

3.配置TFTP伺服器

將原來的內容為:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"

TFTP_ADDRESS="0.0.0.0:69"

#修改為

3.重新啟動TFTP服務

4.測試下

$ cd ~/tftpboot echo "hello tftp service">>a.txt

$ echo "hello tftp service,put to tftp serive">>b.txt

$ tftp localhost

tftp> get a.txt

tftp> put b.txt

tftp> quit 

其中get是取得檔案,put是將檔案上傳到TFTP伺服器上。

-----------------------------------------------------------------------

Ubuntu 10.10安裝配置tftp服務

作者:鄧雪峰,華清遠見嵌入式學院講師。

最近在講解ubuntu 10.10相關的基礎課程的時候,課堂上給同學們講過了tftp相關的配置,雖然相關的配置很簡單的幾步就可以實現tftp服務的配置,但是同學在下課做 實驗的過程中遇到了很多問題,因此,在網上仔細找了一下原因,現把tftp配置過程及相關的配置及容易出現的錯誤總結一下。

TFTP(Trivial File Transfer Protocol,簡單檔案傳輸通訊協定)是TCP/IP協議族中的一個用來在客戶機與伺服器之間進行簡單檔案傳輸的協議,提供不複雜、開銷不大的檔案傳輸服務。連接埠號碼為69。它基於UDP協議而實現。

在我們的使用過程中,我們的TFTP服務是利用xinetd進程起動的,所以下面先看一下xinetd 的介紹:xinetd即extended internet daemon,xinetd是新一代的網路守護進程服務程式,又叫超級Internet伺服器。經常用來管理多種輕量級Internet服務。 xinetd提供類似於inetd+tcp_wrapper的功能,但是更加強大和安全。

一般來說,我們如果啟動tftp服務,只要做如下的配置就可以了:

1、編輯/etc/xinetd.d/tftp檔案,本檔案為xinetd對tftp服務支援的設定檔,一般來說這個檔案會有如下所示的內容:

service tftp
        {
                socket_type = dgram
                protocol = udp
                wait = yes
                user = root
                server = /usr/sbin/in.tftpd
                server_args = -s /tftpboot
                disable = no
                per_source = 11
                cps = 100 2
                flags = IPv4
        }

一般來說,在這個設定檔中,我們要注意的就是對tftp伺服器共用目錄的設定,也就是server_args=-s /tftpboot這一行,我們可以看到這行有個參數-s,那麼對這個配置還有幾個相關的參數,現介紹一下:

-l使用standalone模式運行,此模式下,將會忽略-t選項
        -a address:port在standalone模式下服務所在的IP與連接埠,如果不指定,則在本機所有IP,/etc/service中指定的port上偵聽串連
        -c允許在伺服器上建立檔案,否則只允許更新現有的檔案。如果未指定-U或-p選項,則允許任何人上傳檔案
        -s directory伺服器端預設的目錄,預設為/var/lib/tftpdboot
        -u usernametftp服務以什麼身份運行,預設是nobody,一般可以建立一個tftp的帳號來運行
        -U umask上傳檔案的掩碼,如果未指定-p則為000,如果指定了-p,則採用指定的umask
        -p對於通過-u指定的使用者執行的動作,不做額外的許可權檢查

2、建立共用目錄

按照上一步中配置的目錄,建立tftp服務共用目錄步驟如下:

cd /
        sudo mkdir tftpboot
        sudo chmod –R 777 tftpboot
        cd /tftpboot
        sudo touch test
        chmod 777 test

在本步驟中,建立了一個tftpboot的目錄,並在目錄下建立了一個名為test的檔案用來測試,把他們的許可權均改為777以備使用。

3、啟動tftp服務

我們的tftp服務此時是利用xinetd進程起動的,故啟動命令如下:

sudo /etc/init.d/xinetd restart

4、測試tftp服務

可以 利用ifconfig eth0查看本機IP地址後利用tftp串連至原生tftp伺服器,但是如果想在本機上測試可以利用127.0.0.1地址來測試以上步驟是否成功:

tftp 127.0.0.1
        tftp>get test
        Received 1018 bytes in 0.1 seconds
        tftp>quit

此時如果在目前的目錄下發現test檔案,則tftp服務已經正確運行。

但是,在保證以上步驟沒有誤操作的情況下,有些同學雖然配置運行都沒有問題了,到最後擷取檔案的時候會出現問題,主要會出現以下兩個提示:(下面是我在網上找到的解決辦法)

1:如果出現permission denied 錯誤 則是操作者許可權不夠,需要提升許可權

su root

輸入密碼後就可以正常進行tftp傳輸操作了

2:如果出現Access violation錯誤 則是檔案許可權沒有解開,

將要操作的檔案操作許可權全解開就可以了

chmod 777 檔案名稱

第一個錯誤一般來說按照上面的辦法都可以修正,但是第二個錯誤按照以上方法修改後如果還是出現的話,可以看看下面的這個檔案/etc/inetd.conf,然後在其中找到這樣的一行:

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp

要把最後一個參數改成我們自己設定的tftp共用目錄就可以了,即:

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.