tftpd-hpa
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
tftpd-hpa (hpa: Hans Peter Anvin ) ist ein TFTP-Server (RFC 1350 🇬🇧). Ein oft genutzter Einsatzzweck ist der PXE-Boot. Der Server unterstützt folgende RFCs:
Installation¶
tftpd-hpa kann aus den offiziellen Paketquellen installiert werden.
tftpd-hpa (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install tftpd-hpa
Oder mit apturl installieren, Link: apt://tftpd-hpa
Hiermit wird ein Dienst tftpd-hpa installiert, der den TFTP-Server bereitstellt. Danach lauscht der Server auf allen IPv4- und IPv6-Adressen und ist lauffähig. Dies ist aus Sicherheitsgründen oft nicht erwünscht, da jeder, der den TFTP-Server über das Netzwerk (z.B. Internet) erreichen kann, von dort Daten abrufen oder ggf. auch dort ablegen/überschreiben kann. Man sollte daher auf jeden Fall das Verzeichnis angeben, da hier eine chroot-ähnliche Umgebung eingerichtet wird, sodass keine Dateien aus übergeordneten Verzeichnissen gelesen/geschrieben werden können. Zudem sollte man den Server nur auf den IP-Adressen laufen lassen, auf denen er wirklich lauschen soll. Ist dies nicht möglich sollte man zusätzlich eine Firewall einrichten, die den Zugriff beschränkt.
Konfiguration¶
Damit Dateien gelesen werden können, müssen diese global lesbar sein(o, others). Dies gilt ebenso für das Schreiben. Die Berechtigungen können mit chmod verwaltet werden. Schreiben ist standardmäßig nur möglich, wenn die Datei auf dem Server bereits existiert.
Dies kann geändert werden, indem die Datei /etc/default/tftpd-hpa verändert wird. Der Zeile TFTP_OPTIONS wird die Option --create hinzugefügt.
TFTP_OPTIONS="--secure --create"
Nach einem Neustart des Dienstes, können auch noch nicht auf dem Server vorhandene Dateien beschrieben werden, sofern das Verzeichnis für alle anderen beschreibbar ist.
IP-Adresse festlegen¶
TFTP_OPTIONS kann um den Parameter --address
erweitert werden (es kann aber nur eine Adresse angegeben werden):
TFTP_OPTIONS="--secure --create --address [2001:db0::2]"
root-Verzeichnis festlegen¶
In der Datei /etc/default/tftpd-hpa kann die Zeile
TFTP_DIRECTORY="/srv/tftp"
angepasst werden.
Links¶
Serverdienste Übersichtsartikel
FTP - ähnliches Protokoll wie TFTP aber mit erweiterten Möglichkeiten