Dans les systèmes Linux, nous avons souvent besoin de transférer des fichiers. Cependant, bien que le transfert de fichiers puisse être réalisé à l'aide du protocole FTP traditionnel, le processus de configuration est relativement complexe et ne convient pas à un transfert de fichiers rapide et facile. Alors, existe-t-il un moyen plus pratique et plus rapide de transférer des fichiers ? La réponse est oui – c'est TFTP.
Saviez-vous qu'il existe une alternative plus simple au protocole de transfert de fichiers populaire ? C'est TFTP, et voici comment le configurer sous Linux.
TFTP (Trivial File Transfer Protocol) a été défini pour la première fois en 1980. Il s'agit d'un protocole assez ancien, publié sous le nom de TFTP Protocol Revision 2 en juin 1981 par Karen R. Sollins dans la RFC 783 (Request for Comments).
Au début, l'objectif principal de TFTP était d'envoyer et de recevoir des fichiers sur le réseau. En particulier, il est utilisé pour transférer les fichiers requis lors du démarrage afin de permettre au système de démarrer sur le réseau.
Voici comment configurer un serveur TFTP sur une machine Linux.
Qu'est-ce que TFTP ?
TFTP est toujours utilisé à des fins de transfert de fichiers, il n'y a aucun changement fondamental dans les fonctionnalités qu'il prend en charge. TFTP est utilisé pour télécharger et envoyer des fichiers via UDP/IP. Il ne dispose pas de fonctionnalités supplémentaires telles que les contrôles d'identité et d'autorisation, la liste des fichiers, la suppression ou le renommage qui sont courants dans d'autres protocoles de transfert de fichiers.
Contrairement au Advanced File Transfer Protocol, qui utilise TCP au niveau de la couche de transport, il fonctionne sur le protocole UDP et n'a pas de fonctions telles que vérifier si les paquets de données appartenant au fichier seront envoyés à l'autre extrémité. En raison de cette limitation, il est plus adapté à une utilisation sur un réseau local plutôt que sur Internet ou un WAN.
Malgré toutes ces fonctionnalités apparemment désavantageuses énumérées ci-dessus, un aspect très puissant du protocole TFTP est sa simplicité. Par rapport à ses alternatives, ce protocole est très simple à mettre en œuvre, même pour les environnements sans système d'exploitation. Grâce à cette fonctionnalité, il a un large éventail d’utilisations dans les systèmes embarqués.
Installer le serveur TFTP sous Linux
Lors de l'utilisation d'appareils intégrés, il est important d'installer le service serveur TFTP. Sur les systèmes Linux, il est possible d'exécuter plusieurs implémentations de serveur TFTP. Si vous utilisez une distribution basée sur Debian, vous pouvez installer les packages tftpd-hpa, tftpd ou atftpd. Si vous ne savez pas lequel choisir, envisagez d'installer le package tftpd-hpa.
┌──(linuxmi㉿linuxmi)-[~/linuxmi.com] └─$ sudo apt-get install tftpd-hpa
Après l'installation, le service TFTP commencera à écouter sur le port UDP 69. Pour servir des fichiers vers d'autres systèmes via un serveur TFTP, vous devez vous rappeler quelques prérequis :
La première consiste à copier les fichiers requis dans le répertoire personnel TFTP ou dans un répertoire sous ce répertoire personnel, et la seconde consiste à rendre les autorisations de fichiers visibles au public
Pour savoir quel est le répertoire personnel du serveur TFTP, vous pouvez consulter la variable TFTP_DIRECTORY dans le fichier /etc/default/tftpd-hpa. En règle générale, vous verrez des répertoires tels que /var/lib/tftpboot ou /srv/tftp. Si nécessaire, vous pouvez modifier ce répertoire et redémarrer le service.
┌──(linuxmi㉿linuxmi)-[~/linuxmi.com] └─$ cat /etc/default/tftpd-hpa
Pour faciliter l'utilisation, si vous remplacez le propriétaire du répertoire personnel TFTP concerné par votre compte utilisateur, vous n'avez pas besoin d'ajouter le préfixe sudo à chaque commande que vous exécutez. Utilisez la commande chown pour changer la propriété de root à l'utilisateur actuel :
sudo chown -R $USER /srv/tftp
Le nom du package du serveur TFTP et le répertoire personnel par défaut peuvent varier en fonction de la distribution Linux utilisée.
Envoyer des fichiers via le serveur TFTP
Parfois, il existe des situations où TFTP est la seule option pour déplacer des fichiers d'un système Linux intégré vers un environnement externe. Par exemple, il arrive parfois que le système ne prenne en charge aucun support inscriptible pouvant être utilisé pour transférer des fichiers.
Dans ce cas, puisque le client TFTP peut être compilé dans busybox, vous pouvez envoyer les fichiers enregistrés dans votre système vers un serveur TFTP sur le réseau.
Pour utiliser l'application client TFTP, exécutez la commande busybox tftp :
busybox tftp
Pour envoyer l'exemple de fichier au serveur TFTP, vous devez utiliser la commande suivante :
busybox tftp -l example.bin -p 192.168.1.111
Bien que la commande ci-dessus soit correcte, une erreur se produira lors du transfert du fichier vers le serveur TFTP. Étant donné que le message d’erreur renvoyé n’est pas explicite, il peut être difficile de comprendre quel est le véritable problème.
Le problème ici est dû à certaines procédures de sécurité sur le serveur TFTP. TFTP exige qu'un fichier portant le même nom se trouve dans le répertoire où le fichier sera écrit, comme condition préalable au téléchargement du fichier, et que les autorisations d'écriture pour le fichier soient disponibles pour tout le monde.
En d'autres termes, les fichiers qui n'existent pas sur le serveur TFTP ne peuvent pas être téléchargés via le client TFTP. Si vous créez un fichier vide portant le même nom et modifiez ses autorisations d'accès, le processus de téléchargement ci-dessus réussira. Pour ce faire, vous devez exécuter la commande suivante dans le répertoire personnel du serveur TFTP concerné :
cd /srv/tftp touch example.bin chmod 666 example.bin
Vous pouvez maintenant effectuer le téléchargement avec succès.
Il est également possible de désactiver les mesures de sécurité ci-dessus et de laisser le serveur TFTP créer un fichier qui n'existe pas. Pour ce faire, vous pouvez utiliser le paramètre -c ou --create lors du démarrage de l'application tftpd-hpa. Il suffit d'ajouter ce paramètre à la variable TFTPD_OPTIONS existante dans le fichier /etc/default/tftpd-hpa :
# /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用户都值得了解和掌握的重要工具!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!