Heim > System-Tutorial > LINUX > Hauptteil

Schnelle und einfache Dateiübertragung – erfahren Sie mehr über Linux TFTP

WBOY
Freigeben: 2024-02-12 15:15:11
nach vorne
1279 Leute haben es durchsucht

In Linux-Systemen müssen wir häufig Dateien übertragen. Obwohl die Dateiübertragung über das herkömmliche FTP-Protokoll möglich ist, ist der Konfigurationsprozess jedoch relativ komplex und für eine schnelle und einfache Dateiübertragung nicht geeignet. Gibt es also eine bequemere und schnellere Möglichkeit, Dateien zu übertragen? Die Antwort ist ja – es ist TFTP.

Wussten Sie, dass es eine einfachere Alternative zum beliebten Dateiübertragungsprotokoll gibt? Es ist TFTP und hier erfahren Sie, wie Sie es unter Linux einrichten.

TFTP (Trivial File Transfer Protocol) wurde erstmals 1980 definiert. Es handelt sich um ein ziemlich altes Protokoll, das im Juni 1981 von Karen R. Sollins als TFTP Protocol Revision 2 in RFC 783 (Request for Comments) veröffentlicht wurde.

In den Anfängen bestand das Hauptziel von TFTP darin, Dateien über das Netzwerk zu senden und zu empfangen. Insbesondere dient es der Übertragung von Dateien, die beim Booten benötigt werden, damit das System über das Netzwerk booten kann.

Hier erfahren Sie, wie Sie einen TFTP-Server auf einem Linux-Computer einrichten.

Was ist TFTP?

TFTP wird weiterhin für Dateiübertragungszwecke verwendet, es gibt keine grundlegenden Änderungen an der unterstützten Funktionalität. TFTP wird zum Herunterladen und Senden von Dateien über UDP/IP verwendet. Es verfügt nicht über zusätzliche Funktionen wie Identitäts- und Autorisierungskontrollen, Dateiauflistung, Löschung oder Umbenennung, die in anderen Dateiübertragungsprotokollen üblich sind.

Im Gegensatz zum Advanced File Transfer Protocol, das TCP auf der Transportschicht verwendet, arbeitet es auf dem UDP-Protokoll und verfügt nicht über Funktionen wie die Prüfung, ob die zur Datei gehörenden Pakete an das andere Ende gesendet werden. Aufgrund dieser Einschränkung eignet es sich eher für die Verwendung in einem LAN als im Internet oder WAN.

Trotz all dieser oben aufgeführten scheinbar nachteiligen Funktionen ist seine Einfachheit ein sehr leistungsstarker Aspekt des TFTP-Protokolls. Im Vergleich zu seinen Alternativen ist dieses Protokoll sehr einfach zu implementieren, selbst in Umgebungen ohne Betriebssystem. Aufgrund dieser Eigenschaft bietet es ein breites Einsatzspektrum in eingebetteten Systemen.

Installieren Sie den TFTP-Server unter Linux

Bei der Verwendung eingebetteter Geräte ist es wichtig, den TFTP-Serverdienst zu installieren. Auf Linux-Systemen ist es möglich, mehrere TFTP-Server-Implementierungen auszuführen. Wenn Sie eine Debian-basierte Distribution verwenden, können Sie die Pakete tftpd-hpa, tftpd oder atftpd installieren. Wenn Sie sich nicht sicher sind, welches Sie wählen sollen, sollten Sie die Installation des Pakets tftpd-hpa in Betracht ziehen.

┌──(linuxmi㉿linuxmi)-[~/linuxmi.com]
└─$ sudo apt-get install tftpd-hpa
Nach dem Login kopieren
快速简便的文件传输——了解Linux TFTP

Nach der Installation beginnt der TFTP-Dienst mit der Überwachung des UDP-Ports 69. Um Dateien über einen TFTP-Server an andere Systeme bereitzustellen, müssen Sie einige Voraussetzungen beachten:
Die erste besteht darin, die erforderlichen Dateien in das TFTP-Home-Verzeichnis oder ein Verzeichnis unter diesem Home-Verzeichnis zu kopieren, und die zweite besteht darin, die Dateiberechtigungen für die Öffentlichkeit sichtbar zu machen
Um herauszufinden, was das Home-Verzeichnis des TFTP-Servers ist, können Sie sich die Variable TFTP_DIRECTORY in der Datei /etc/default/tftpd-hpa ansehen. Typischerweise werden Sie Verzeichnisse wie /var/lib/tftpboot oder /srv/tftp sehen. Bei Bedarf können Sie dieses Verzeichnis ändern und den Dienst neu starten.

┌──(linuxmi㉿linuxmi)-[~/linuxmi.com]
└─$ cat /etc/default/tftpd-hpa
Nach dem Login kopieren
快速简便的文件传输——了解Linux TFTP

Wenn Sie den Besitzer des relevanten TFTP-Home-Verzeichnisses in Ihr Benutzerkonto ändern, müssen Sie aus Gründen der Benutzerfreundlichkeit nicht jedem Befehl, den Sie ausführen, das Präfix „sudo“ hinzufügen. Verwenden Sie den Befehl chown, um den Besitzer von Root auf den aktuellen Benutzer zu ändern:

sudo chown -R $USER /srv/tftp
Nach dem Login kopieren

Der Name des TFTP-Serverpakets und das Standard-Home-Verzeichnis können je nach verwendeter Linux-Distribution variieren.

Dateien über den TFTP-Server senden

Manchmal gibt es Situationen, in denen TFTP die einzige Option zum Verschieben von Dateien von einem eingebetteten Linux-System in eine externe Umgebung ist. Manchmal unterstützt das System beispielsweise keine beschreibbaren Medien, die zum Übertragen von Dateien verwendet werden können.

Da der TFTP-Client in diesem Fall möglicherweise in Busybox kompiliert ist, können Sie in Ihrem System gespeicherte Dateien an einen TFTP-Server im Netzwerk senden.

Um die TFTP-Client-Anwendung zu verwenden, geben Sie den Busybox-TFTP-Befehl aus:

busybox tftp
Nach dem Login kopieren

Um die Beispieldatei an den TFTP-Server zu senden, müssen Sie den folgenden Befehl verwenden:

busybox tftp -l example.bin -p 192.168.1.111
Nach dem Login kopieren

Obwohl der obige Befehl korrekt ist, tritt beim Übertragen der Datei auf den TFTP-Server ein Fehler auf. Da die zurückgegebene Fehlermeldung nicht selbsterklärend ist, kann es schwierig sein, das eigentliche Problem zu verstehen.

Das Problem liegt hier an einigen Sicherheitsverfahren auf dem TFTP-Server. TFTP erfordert als Voraussetzung für das Hochladen der Datei, dass sich eine Datei mit demselben Namen in dem Verzeichnis befindet, in das die Datei geschrieben wird, und dass Schreibberechtigungen für die Datei für alle verfügbar sein müssen.

Mit anderen Worten: Dateien, die nicht auf dem TFTP-Server vorhanden sind, können nicht über den TFTP-Client hochgeladen werden. Wenn Sie eine leere Datei mit demselben Namen erstellen und deren Zugriffsberechtigungen bearbeiten, ist der oben beschriebene Upload-Vorgang erfolgreich. Dazu müssen Sie im Home-Verzeichnis des jeweiligen TFTP-Servers den folgenden Befehl ausführen:

cd /srv/tftp  
touch example.bin
chmod 666 example.bin
Nach dem Login kopieren

Jetzt können Sie den Upload erfolgreich durchführen.

Es ist auch möglich, die oben genannten Sicherheitsmaßnahmen zu deaktivieren und den TFTP-Server eine Datei erstellen zu lassen, die nicht existiert. Dazu können Sie beim Starten der tftpd-hpa-Anwendung den Parameter -c oder --create verwenden. Es reicht aus, diesen Parameter zur vorhandenen Variable TFTPD_OPTIONS in der Datei /etc/default/tftpd-hpa hinzuzufügen:

# /etc/default/tftpd-hpa  
TFTP_USERNAME="tftp"  
TFTP_DIRECTORY="/srv/tftp"  
TFTP_ADDRESS="0.0.0.0:69"  
TFTP_OPTIONS="--secure --create"
Nach dem Login kopieren

为什么使用 TFTP 服务器进行文件传输?

TFTP 最重要的优点是速度快,并且可以帮助您节省时间。它是将网络设备的配置文件传输到其他系统的理想选择。此外,它具有非常简单的使用标准。它可以与基于 Windows 和 Linux 的操作系统上的软件一起轻松运行。最后,在技术上无法使用 FTP 的情况下,TFTP 总是可以挽救局面。

当然,最大的缺点是不安全。因此,使用 TFTP 服务器传输文件时必须非常小心。

除了文件传输之外,您不能使用 TFTP 服务器执行文件删除、编辑和修改等功能。对于那些使用或寻求高级系统的人来说,此功能是一个主要缺点。最后,它不需要身份验证,如果您认真对待自己的安全性,这是一个主要缺点。

在其他操作系统上设置 TFTP

如果要在 Windows 上使用 TFTP,则无需安装任何第三方软件。您可以使用控制面板中的打开或关闭 Windows 功能选项启用 TFTP。

本文介绍了Linux系统中TFTP(Trivial File Transfer Protocol)的使用方法和特点。与FTP相比,TFTP具有更加简单、快速、轻量级的特点,既不需要繁琐的配置,也不会占用大量的系统资源。通过学习TFTP的使用方法,我们可以实现快速简便的文件传输,提高工作效率。因此,TFTP绝对是每个Linux用户都值得了解和掌握的重要工具!

Das obige ist der detaillierte Inhalt vonSchnelle und einfache Dateiübertragung – erfahren Sie mehr über Linux TFTP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:lxlinux.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!