tftpd-hpa

Serveur tftp

   in.tftpd est un serveur tftp lancé patr inetd ou en démon.

OPTIONS

-l Lance le serveur en mode démon.
-L similaire à -l mais le place en tâche de fond
-a [address][:port] Spécifie l'adresse:port d'écoute. écoute sur toutes les interfaces par défaut.
-c Autorise de créer des nouveaux fichiers.
-s Définit le répertoire racine
-u user Définit l'identité du serveur.défaut nobody
-U umask Définit le umask pour les fichiers crées. défaut : 0
-p ne vérifie pas les permissions
-t timeout Détermine le timeout par défaut avant de terminer une connexion. défaut : 900 secondes
-T timeout détermine le timeout en microsecondes avant que le premier paquet soit retransmis. défaut : 1000000 (1sec)
-m remap-file Spécifie l'utilisation du remappage de fichier. remap-file est un fichier contenant les règles de remappage.
-v définit le niveu de log. peut être spécifié plusieurs fois pour augmenter la verbosité.
-r tftp-option indique que l"option donné spécifique RFC2347 ne doit jamais être accepté.
-B max-block-size Spécifie la taille de block maximum permise. de 512 à 65464. Il est recommandé de définir cette valeur la plus proche de MTU - 32. pour un MTU de 1500 : 1468.
-R port:port force le port du serveur à être dans la plage spécifiée.
-V affiche la version et la configuration courante.

Négociation d'option rfc2347

blksize définit la taille de block maximum
blksize2 idem mais restreint la réponse possible en puissance de 2 (max 32768)
tsize Reporte la taille du fichier qui est transféré
timeout définit le temps avant de retransmettre un paquet, en secondes.
utimeout idem mais en microsecondes

Remappage de fichier

   l'option -m spécifie un fichier contenant des règles de remappage. Chaque ligne qui ne commençant pas par un '#' contenant un opération; une expressions régulière style egrep; et optionnellement un pattern de remplacement. L'opération est effectuée si l'expression correspond.

  L'opération peut être une combinaison des lettres suivantes:

r remplace la sous-chaîne qui correspond à regex par le pattern de remplacement.
g répète cette règle tant que le règle correspond. toujour utilisé avec r
i insensible à la casse. défaut : sensible à la casse
si cette règle correspond, termine le traitement de la règle après avoir exécuté la règle.
a si cette règle correspond, refuse la requête
G cette règle s'applique à GET uniquement
P Cette règle s'applique à PUT uniquement
inverse le sense de la règle

   Les séquences d'échappement suivant sont reconnus pour le pattern de remplacement:

\0 la chaîne entière correspondant par l'expression
\1 à \9 les chaînes correspondantes des 9 premières sous-expressions entre parenthèses, \( ... \)
\i l'adresse IP du client sous la forme 192.168.0.1
\x idem en hexa. exemple : C00002A9
\witespace espace litéral
\# '#'
\U met en majuscule toutes les lettres suivantes
\L met en minuscule toutes les lettres suivantes
\E Annule l'effet de \L et \U

Sécurité

   Dû au manque de sécurité de tftp, le serveur autorise seulement les fichier accessible en lecture a tous (o+r) à moins que -p ne soit spécifié. les fichiers ne peuvent être écrit que s'ils existent déjà et sont accessible en écriture par tous, à moins que -c ne soit spécifié. s'il est compilé pour, le serveur va vérifier la base hosts_access pour les informations de contrôle d'accès, ce qui peut être lent.

  Le serveur devrait être lancé sous un utilisateur avec le moins de privilèges possibles. Un répertoire racine devrait être également spécifié.

Exemples

exemple de configuration (/etc/default/tftpd-hpa):
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot -u nobody -t 100 -v"