如何在 Linux 上設定古老又簡單的 TFTP 伺服器
導讀 | 您知道流行的檔案傳輸協議有一個更簡單的替代方案嗎?它就是 TFTP,以下是在 上設定它的方法。 |
TFTP(Trivial File Transfer Protocol,簡單檔案傳輸協議)於 1980 年首次被定義。它是一個相當古老的協議,於 1981 年 6 月由 Karen R. Sollins 在 RFC 783(徵求意見)中作為 TFTP 協議修訂版 2 釋出。
早期,TFTP 的主要目標是透過網路傳送和接收檔案。特別是,它用於傳輸引導期間所需的檔案,以使系統能夠透過網路引導。
下面介紹如何在 Linux 機器上設定 TFTP 伺服器。
TFTP 仍用於檔案傳輸目的,它支援的功能沒有根本變化。TFTP 用於透過 UDP/IP 下載和傳送檔案。它沒有其他檔案傳輸協議中常見的身份和授權控制、檔案列表、刪除或重新命名等附加功能。
與在傳輸層使用 TCP 的高階檔案傳輸協議不同,它工作在 UDP 協議上,不具有檢查屬於檔案的資料包是否會傳送到另一端等功能。由於這個限制,它更適合在區域網中使用,而不是在網際網路或廣域網中使用。
儘管上面列出了所有這些看似不利的特性,但 TFTP 協議非常強大的一個方面是它的簡單性。與其替代方案相比,該協議的實現非常容易,即使對於沒有作業系統的環境也是如此。由於這個特性,它在嵌入式系統中有廣泛的使用領域。
使用嵌入式裝置時,安裝 TFTP 伺服器服務很重要。在 Linux 系統上,可以執行多個 TFTP 伺服器實現。如果您使用的是基於 Debian 的發行版,您可以安裝tftpd-hpa、tftpd或atftpd軟體包。如果您不確定選擇哪一個,請考慮安裝 tftpd-hpa 軟體包。
┌──(linuxmi㉿linuxmi)-[~/linuxmi.com] └─$ sudo apt-get install tftpd-hpa
安裝後,TFTP 服務將開始偵聽 UDP 埠 69。要透過 TFTP 伺服器將檔案提供給其他系統,您需要記住一些先決條件:
第一是將所需檔案複製到 TFTP 主目錄或該主目錄下的目錄,第二是使檔案許可權對公眾可見
要找出 TFTP 伺服器主目錄是什麼,您可以檢視/etc/default/tftpd-hpa檔案中的TFTP_DIRECTORY變數。通常,您會看到/var/lib/tftpboot或/srv/tftp 之類的目錄。如果需要,您可以更改此目錄並重新啟動服務。
┌──(linuxmi㉿linuxmi)-[~/linuxmi.com] └─$ cat /etc/default/tftpd-hpa
為了便於使用,如果您將相關 TFTP 主目錄的所有者更改為您的使用者帳戶,則無需在執行的每個 中新增 sudo 字首。使用 chown 將所有權從 root 更改為當前使用者:
sudo chown -R $USER /srv/tftp
TFTP 伺服器包名稱和預設主目錄可能因使用的 Linux 發行版而異。
有時在某些情況下,TFTP 是將檔案從嵌入式 Linux 系統移動到外部環境的唯一選擇。例如,有時系統可能不支援任何可用於傳輸檔案的可寫媒體。
在這種情況下,由於 TFTP 客戶端可能會在busybox中編譯,您可以將系統中儲存的檔案傳送到網路上的 TFTP 伺服器。
要使用 TFTP 客戶端應用程式,請發出busybox tftp命令:
busybox tftp
要將示例檔案傳送到 TFTP 伺服器,您需要使用如下命令:
busybox tftp -l example.bin -p 192.168.1.111
雖然上面的命令是正確的,但在將檔案傳輸到 TFTP 伺服器時會出錯。由於返回的錯誤訊息不是不言自明的,因此很難理解真正的問題是什麼。
這裡的問題是因為 TFTP 伺服器上的一些安全程式。TFTP 要求具有相同名稱的檔案應位於將寫入檔案的目錄中,作為檔案上傳的先決條件,並且該檔案的寫入許可權應可供所有人使用。
換言之,無法透過 TFTP 客戶端上傳 TFTP 伺服器上不存在的檔案。如果您建立一個同名的空檔案並編輯其訪問許可權,則上述上傳過程將成功。為此,您必須在相關的 TFTP 伺服器主目錄中執行以下命令:
cd /srv/tftp touch example.bin chmod 666 example.bin
現在您可以成功執行上傳了。
也可以禁用上述安全措施並讓 TFTP 伺服器建立一個不存在的檔案。為此,您可以在啟動tftpd-hpa應用程式時使用-c或--create引數。將此引數新增到/etc/default/tftpd-hpa檔案中現有的TFTPD_OPTIONS變數就足夠了:
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure --create"
TFTP 最重要的優點是速度快,並且可以幫助您節省時間。它是將網路裝置的配置檔案傳輸到其他系統的理想選擇。此外,它具有非常簡單的使用標準。它可以與基於 Windows 和 Linux 的作業系統上的軟體一起輕鬆執行。最後,在技術上無法使用 FTP 的情況下,TFTP 總是可以挽救局面。
當然,最大的缺點是不安全。因此,使用 TFTP 伺服器傳輸檔案時必須非常小心。
除了檔案傳輸之外,您不能使用 TFTP 伺服器執行檔案刪除、編輯和修改等功能。對於那些使用或尋求高階系統的人來說,此功能是一個主要缺點。最後,它不需要身份驗證,如果您認真對待自己的安全性,這是一個主要缺點。
如果要在 Windows 上使用 TFTP,則無需安裝任何第三方軟體。您可以使用控制皮膚中的開啟或關閉 Windows 功能選項啟用 TFTP。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2907897/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在 Fedora 上建立一個 TFTP 伺服器FTP伺服器
- 如何在 Debian Linux 上設定和配置網橋Linux
- 如何在 Linux 伺服器上設定 ulimit 和檔案描述符數限制Linux伺服器MIT
- 雲伺服器簡單基礎的DEDECMS安全設定伺服器
- 如何在linux伺服器上使用hanlpLinux伺服器HanLP
- 簡簡單單的總結,意如生活的平淡
- 如何在 Arch Linux 上安裝和設定 KDE 桌面環境?Linux
- TFTP伺服器怎麼開啟?TFTP伺服器的開啟方法步驟FTP伺服器
- Windows和Linux上均可編譯的簡單HTTP伺服器程式碼WindowsLinux編譯HTTP伺服器
- 如何在Linux上為SSH登入設定電子郵件提醒Linux
- Linux下簡單部署伺服器Linux伺服器
- 簡單又強大的SHELL
- 簡單又好用的高效工具
- 如何在 Ubuntu 上設定時間同步Ubuntu
- 如何在ubuntu上設定清華源Ubuntu
- 如何在Mac 上設定虛擬 VPNMac
- 如何在Linux上使用Osquery設定檔案完整性監控(FIM)Linux
- 簡單易懂的設計模式(上)設計模式
- 如何在linux使用crontab命令定時重啟伺服器Linux伺服器
- 命令定時重啟伺服器如何在linux使用crontab伺服器Linux
- 如何在Mac上設定韌體密碼Mac密碼
- 收藏! Linux 伺服器必備的安全設定Linux伺服器
- 如何在 Ubuntu Linux 中設定或更改時區UbuntuLinux
- 如何在 Centos7.7 設定GRUB選單的密碼CentOS密碼
- 雲伺服器Linux系統設定時間同步設定伺服器Linux
- 5 個簡單又好用的免費線上神器,第 2 個真香
- 設定Linux伺服器IP地址的shell指令碼Linux伺服器指令碼
- 如何在 Linux 中顯示和設定主機名?Linux
- 教你如何在Linux中設定快捷方式圖示Linux
- 前端人員如何在linux伺服器上搭建npm私有庫前端Linux伺服器NPM
- 如何在Linux上安裝一個開源VPN伺服器Linux伺服器
- Linux伺服器---設定服務啟動Linux伺服器
- 多IP伺服器上監聽器的設定伺服器
- 簡單又較隱蔽的PHP後門PHP
- 如何在 Ubuntu 上設定多語言輸入法Ubuntu
- 如何在Mac上設定自定義鎖屏訊息?Mac
- 如何在Linux系統中設定Boost庫的環境變數?Linux變數
- 如何在 Linux 上使用 pkgsrcLinux