高速かつ簡単なファイル転送 - Linux TFTP について学ぶ

WBOY
リリース: 2024-02-12 15:15:11
転載
1280 人が閲覧しました

Linux システムでは、ファイルを転送する必要があることがよくあります。ただし、従来の FTP プロトコルを使用してファイル転送を行うことはできますが、設定プロセスは比較的複雑であり、迅速かつ簡単なファイル転送には適していません。では、より便利で高速にファイルを転送する方法はあるのでしょうか?答えは「はい」です。それは TFTP です。

一般的なファイル転送プロトコルに代わる、より簡単な代替手段があることをご存知ですか?これは TFTP であり、Linux でのセットアップ方法は次のとおりです。

TFTP (Trivial File Transfer Protocol) は 1980 年に初めて定義されました。これはかなり古いプロトコルで、1981 年 6 月に Karen R. Sollins によって RFC 783 (Request for Comments) で TFTP Protocol Revision 2 として公開されました。

初期の頃、TFTP の主な目的はネットワーク上でファイルを送受信することでした。特に、ネットワーク経由でシステムを起動できるようにするために、起動中に必要なファイルを転送するために使用されます。

次に、Linux マシン上で TFTP サーバーをセットアップする方法について説明します。

TFTP とは何ですか?

TFTP は、サポートする機能に基本的な変更はなく、ファイル転送の目的で引き続き使用されています。 TFTP は、UDP/IP 経由でファイルをダウンロードおよび送信するために使用されます。他のファイル転送プロトコルで一般的な、ID および承認の制御、ファイルのリスト、削除、名前変更などの追加機能はありません。

トランスポート層で TCP を使用する Advanced File Transfer Protocol とは異なり、UDP プロトコル上で動作し、ファイルに属するデータ パケットが相手に送信されるかどうかを確認する機能はありません。この制限があるため、インターネットや WAN ではなく LAN での使用に適しています。

上記の一見不利な特性にもかかわらず、TFTP プロトコルの非常に強力な側面の 1 つはその単純さです。代替プロトコルと比較して、このプロトコルは、オペレーティング システムがない環境でも実装が非常に簡単です。この機能により、組み込みシステムで幅広い用途に使用されます。

Linux に TFTP サーバーをインストールする

組み込みデバイスを使用する場合は、TFTP サーバー サービスをインストールすることが重要です。 Linux システムでは、複数の TFTP サーバー実装を実行できます。 Debian ベースのディストリビューションを使用している場合は、tftpd-hpa、tftpd、または atftpd パッケージをインストールできます。どれを選択すればよいかわからない場合は、tftpd-hpa パッケージのインストールを検討してください。

リーリー 快速简便的文件传输——了解Linux TFTP

インストール後、TFTP サービスは UDP ポート 69 でのリッスンを開始します。 TFTP サーバー経由で他のシステムにファイルを提供するには、いくつかの前提条件を覚えておく必要があります:
1 つ目は、必要なファイルを TFTP ホーム ディレクトリまたはそのホーム ディレクトリの下のディレクトリにコピーすることです。2 つ目は、ファイルのアクセス許可を一般に公開することです
TFTP サーバーのホーム ディレクトリを確認するには、/etc/default/tftpd-hpa ファイル内の TFTP_DIRECTORY 変数を確認します。通常、/var/lib/tftpboot または /srv/tftp のようなディレクトリが表示されます。必要に応じて、このディレクトリを変更してサービスを再起動できます。

リーリー 快速简便的文件传输——了解Linux TFTP

使いやすくするために、関連する TFTP ホーム ディレクトリの所有者を自分のユーザー アカウントに変更すると、実行するすべてのコマンドに sudo プレフィックスを追加する必要がなくなります。 chown コマンドを使用して、所有権を root から現在のユーザーに変更します:

リーリー

TFTP サーバーのパッケージ名とデフォルトのホーム ディレクトリは、使用する Linux ディストリビューションによって異なる場合があります。

TFTP サーバーを使用してファイルを送信する

場合によっては、組み込み Linux システムから外部環境にファイルを移動するためのオプションが TFTP だけである場合があります。たとえば、ファイルの転送に使用できる書き込み可能なメディアがシステムでサポートされていない場合があります。

この場合、TFTP クライアントはbusybox でコンパイルされている可能性があるため、システムに保存されているファイルをネットワーク上の TFTP サーバーに送信できます。

TFTP クライアント アプリケーションを使用するには、busybox tftp コマンドを発行します。

リーリー

サンプル ファイルを TFTP サーバーに送信するには、次のコマンドを使用する必要があります:

リーリー

上記のコマンドは正しいですが、ファイルを TFTP サーバーに転送するときにエラーが発生します。返されるエラー メッセージは一目瞭然ではないため、実際の問題が何であるかを理解するのが難しい場合があります。

ここでの問題は、TFTP サーバー上のいくつかのセキュリティ手順が原因です。 TFTP では、ファイルのアップロードの前提条件として、ファイルが書き込まれるディレクトリに同じ名前のファイルが存在し、ファイルへの書き込み権限がすべてのユーザーに与えられている必要があります。

つまり、TFTP サーバー上に存在しないファイルは、TFTP クライアント経由でアップロードできません。同じ名前の空のファイルを作成し、そのアクセス許可を編集すると、上記のアップロード プロセスは成功します。これを行うには、関連する TFTP サーバーのホーム ディレクトリで次のコマンドを実行する必要があります:

リーリー

これで、アップロードを正常に実行できるようになりました。

上記のセキュリティ対策を無効にして、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 服务器进行文件传输?

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

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

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

在其他操作系统上设置 TFTP

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

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

以上が高速かつ簡単なファイル転送 - Linux TFTP について学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lxlinux.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!