Scroll to navigation

TFTPD(8) Manualul administratorului de sistem TFTPD(8)

NUME

tftpd - server de protocol trivial de transfer de fișiere

SINOPSIS

in.tftpd [opțiuni...] director...

DESCRIERE

tftpd este un server pentru Trivial File Transfer Protocol. Protocolul TFTP este utilizat pe scară largă pentru a asigura pornirea de la distanță a dispozitivelor fără disc. În mod normal, serverul este pornit de inetd, dar poate funcționa și independent. Serverul poate fi rulat ca un demon autonom sau poate fi pornit prin sau

director... trebuie să specifice unul sau mai multe directoare la care tftpd poate avea acces. Rețineți că, dacă a fost specificată opțiunea --path-prefie (a se vedea mai jos), numele directoarelor enumerate nu trebuie să includă prefixul însuși.

Numele directoarelor trebuie să respecte regulile descrise în secțiunea VALIDAREA RUTEI, altfel vor fi respinse; în special, acestea trebuie să înceapă cu “/” și nu pot conține componentele “.” sau “..”.

“/” este permis doar ca director împreună cu opțiunea --path-prefix.

OPȚIUNI

Anumite opțiuni pot fi configurate în momentul compilării și este posibil să nu fie disponibile pe un anumit sistem. Rulați tftpd cu opțiunea -V pentru a vedea ce opțiuni specifice sunt disponibile pe sistemul dumneavoastră.

-4, --ipv4
Se conectează numai cu IPv4, chiar dacă a fost compilat suportul IPv6.
-6, --ipv6
Se conectează numai cu IPv6, dacă a fost compilat suportul IPv6.
Rulează serverul în modul autonom (ascultare), în loc să-l ruleze dintr-un demon de serviciu. În modul autonom, opțiunea --address poate fi utilizată pentru a specifica o adresă locală sau un port anume pe care să asculte, iar opțiunea --port poate fi utilizată pentru a specifica un port de ascultare implicit.
Similar cu --listen, dar nu se detașează de procesul din prim-plan. Implică --listen.
Specifică o adresă și un port anume pe care să se asculte atunci când se rulează în modul autonom (cu opțiunile --listen sau --foreground). Adresele IPv6 numerice trebuie să fie încadrate între paranteze drepte pentru a evita ambiguitatea cu informația opțională port.
Dacă nu se specifică nicio adresă, implicit se ascultă toate adresele locale.
port poate fi, fie un număr zecimal cuprins între 1 și 65535, fie un nume de serviciu specificat în baza de date specifică niciun port, se utilizează valoarea implicită; consultați opțiunea --service.
Opțiunea --address poate fi specificată de mai multe ori, iar dacă adresa este un nume de gazdă care se rezolvă în mai multe adrese, tftpd se va conecta la toate acestea.
Specifică numele portului/serviciului care urmează să fie utilizat în modul autonom, cu excepția cazului în care se specifică în mod explicit un port în opțiunea --address. Indiferent de numele utilizat pentru această opțiune, port poate fi fie un număr zecimal, fie un nume de serviciu specificat în baza de date „tftp”.
Permite crearea de noi fișiere. În mod implicit, tftpd va permite doar încărcarea de fișiere care există deja. Fișierele sunt create cu permisiuni implicite care permit oricui să le citească sau să le scrie, cu excepția cazului în care sunt specificate opțiunile --permissive sau --umask.
Dezactivează toate funcționalitățile de încărcare, indiferent de permisiunile stabilite pentru sistemul de fișiere. Toate cererile de scriere vor fi respinse imediat.
Limitează încărcările la cel mult dimensiune octeți. O cerere de scriere care include o valoare tsize conform RFC 2349 mai mare decât dimensiune este respinsă imediat. Încărcările fără tsize sau ale căror date depășesc valoarea tsize specificată sunt întrerupte cu o eroare. O valoare dimensiune egală cu zero este echivalentă cu --read-only.
Schimbă directorul rădăcină la pornire folosind Acest lucru înseamnă că gazda de la distanță nu trebuie să transmită directorul ca parte a transferului și poate spori securitatea. Atunci când este specificată opțiunea --secure, trebuie specificat exact un director în linia de comandă.
Rețineți că, atunci când se utilizează --secure, nu se efectuează niciuna dintre verificările numelui rutei descrise în secțiunea VALIDAREA RUTEI de mai jos, cu excepția cazului în care se specifică și --validate; orice verificări dorite vor trebui implementate folosind reguli explicite de reasociere.
Utilizarea opțiunii --secure necesită ca tftpd să fie pornit ca root și să ruleze ca root pentru o perioadă considerabilă de timp. Analizați cu mare atenție dacă acest lucru este cu adevărat de dorit, în comparație cu rularea demonului ca utilizator fără privilegii și utilizarea opțiunilor --map-file, --normalize și/sau --path-prefix, sau, dacă este acceptată de sistemul dumneavoastră, a opțiunii --jail.
Rezolvă numele fișierelor dintr-un director rădăcină virtual. Aceasta este o alternativă la --secure, care poate permite ca demonul să nu fie pornit ca root, dar necesită ca apelul de sistem să fie acceptat de sistemul de operare; începând cu septembrie 2026, acesta este acceptat doar pe sistemele Linux mai noi. Dacă sistemul dvs. nu acceptă --jail, programul se închide cu un mesaj de eroare. Când se specifică --jail, trebuie specificat exact un singur director în linia de comandă.
Rețineți că, atunci când se utilizează --jail, nu se efectuează niciuna dintre verificările numelui rutei descrise în secțiunea VALIDAREA RUTEI de mai jos, cu excepția cazului în care se specifică și --validate; orice verificări dorite vor trebui implementate folosind reguli explicite de reasociere.
Efectuează validarea rutei chiar și în cazul în care se utilizează --secure sau --jail. În mod normal, validarea rutei se efectuează numai atunci când nu este specificată niciuna dintre aceste opțiuni. A se vedea secțiunea VALIDAREA RUTEI de mai jos.
Adaugă prefixul prefix la ruta din sistemul de fișiere local după ce au avut loc recartografierea numelui de fișier și validarea rutei (vezi mai jos). tftpd verifică dacă prefix se referă la un director existent, dar nu efectuează alte verificări de validitate sau de permisiuni.
Dacă se utilizează opțiunea --secure sau --jail, prefix este adăugat la începutul rutei de bază; cu alte cuvinte:
--path-prefix /var/lib --secure /tftpboot
este echivalent cu:
--secure /var/lib/tftpboot
Specifică numele de utilizator cu care va rula tftpd; valoarea implicită este „nobody”. ID-ul de utilizator, ID-ul de grup și (dacă este posibil pe platformă) ID-urile de grup suplimentare vor fi stabilite la cele specificate în baza de date cu permisiuni de sistem pentru acest nume de utilizator.
Stabilește umask pentru fișierele nou create la valoarea specificată. Valoarea implicită este zero (oricine poate citi sau scrie) dacă opțiunea --permisiv nu este specificată sau moștenită de la procesul de invocare dacă opțiunea --permisiv este specificată.
A se vedea
Nu efectuează nicio verificare suplimentară a permisiunilor în plus față de controalele de acces normale furnizate de sistem pentru utilizatorul specificat prin intermediul opțiunii --user.
Atunci când este rulat în modul autonom, scrie ID-ul de proces al serverului care ascultă în fișier-pid. La terminarea normală (SIGTERM sau SIGINT, sau expirarea timpului de inactivitate), fișierul pid este eliminat automat.
Cât timp, în secunde, trebuie să se aștepte o conexiune înainte de a închide serverul. De obicei, atunci când este rulat de către un demon de serviciu, acesta va reporni serverul dacă apare o nouă conexiune.
Valoarea implicită este 0 (nelimitat) dacă serverul este rulat independent (autonom); în caz contrar, 900 (15 minute).
Stabiliți timpul de așteptare implicit pentru pachete, exprimat în microsecunde, înainte ca un pachet să fie retransmis. Acest lucru poate fi modificat de către client dacă se negociază opțiunea timeout sau utimeout. Valoarea implicită este 1000000 (1 secundă).
Pentru retransmisiile ulterioare ale aceluiași pachet, tftpd aplică o strategie de amânare exponențială, conform prevederilor din RFC 1123.
Specifică utilizarea recartografierii numelor de fișiere. fișier-recartografiere este un fișier care conține regulile de recartografiere, dacă este inclus în cod la compilare. A se vedea secțiunea de mai jos referitoare la recarografierea numelor de fișiere.
Specifică numărul de reguli de recartografiere care pot fi executate înainte ca înregistrarea numelui de fișier să eșueze. Valoarea implicită este 4096.
Citește liniile din fișierul fișier-intrare și prelucrează fiecare dintre ele ca și cum ar fi un nume de fișier primit de la un client. Fiecare nume de fișier valid, după rescriere, este apoi scris la ieșirea standard, iar tftpd se închide.
Implică --stderr --foreground.
Utilizați opțiunile --ipv4 și --ipv6 pentru a simula un client IPv4 sau IPv6. Dacă opțiunea --create este inclusă în linia de comandă, se simulează o cerere PUT (WRQ); în caz contrar, se simulează o cerere GET (RRQ).
Dacă se utilizează opțiunea --normalize, ieșirea va fi, de asemenea, normalizată.
Normalizează numele rutei. Dacă se utilizează recartografierea, normalizarea se aplică după recartografiere. mod poate fi none, root sau path.
Dacă mod este none, nu se efectuează nicio normalizare. Aceasta este valoarea implicită.
Dacă mod este root , atunci se adaugă o bară oblică la început, dacă nu există deja una.
Dacă mod este path, atunci se adaugă o bară oblică la început dacă nu există una, barele duplicate și componentele de rută “.” sunt eliminate, iar componentele de rută “..” sunt eliminate împreună cu componenta de rută anterioară, dacă aceasta există. Aceasta este valoarea implicită dacă mod nu este specificat. Rețineți că conținutul real al sistemului de fișiere nu este examinat; prin urmare, legăturile simbolice sau directoarele lipsă nu sunt luate în considerare.
Această opțiune poate fi utilizată împreună cu --path-prefix pentru a obține un efect similar cu --secure sau --jail, fără a fi necesar un fișier complet de reasociere. A se vedea secțiunea „PROCESAREA NUMELOR DE FIȘIERE” de mai jos.
Crește gradul de detaliere a jurnalizării lui tftpd. Această opțiune poate fi specificată de mai multe ori pentru o cantitate și mai mare de detalii.
Definește valoarea nivelului de detaliere la valoare. Aceasta echivalează cu specificarea opțiunii -v de valoare ori.
Indică că o anumită opțiune RFC 2347 TFTP nu trebuie să fie acceptată niciodată, chiar și în cazul în care clientul solicită acest lucru. Această opțiune poate fi utilizată pentru a contracara problemele legate de clienții defectuoși.
Dezactivează toate opțiunile RFC 2347. Solicitările care conțin opțiuni trec direct la etapa normală de transfer de date TFTP, fără o confirmare a opțiunilor.
Specifică dimensiunea maximă permisă a blocului. Intervalul permis pentru acest parametru este de la 512 la 65464; alternativ, poate fi specificat sub forma “mtu” sau “mtu-slack(marja de siguranță)”. Când se specifică mtu, tftpd va încerca să interogheze unitatea maximă de transmisie (MTU) de la nucleu și va stabili dimensiunea maximă a blocului în consecință. Dacă se specifică slack, valoarea MTU va fi ajustată în jos cu slack octeți.
Unii clienți încorporați solicită dimensiuni mari ale blocurilor, dar nu gestionează corect pachetele fragmentate; din acest motiv, se recomandă utilizarea --blocksize mtu dacă este posibil să aveți astfel de clienți în rețeaua dumneavoastră.
Specifică valoarea maximă acceptată pentru opțiunea RFC 7440 windowsize. Intervalul permis este cuprins între 1 și 32768. O solicitare a clientului care depășește această limită este redusă la această valoare. Dacă fereastra rezultată este de un bloc, opțiunea windowsize nu este returnată, iar transferul utilizează operația normală în pași sincronizați. „lockstep”.
Valoarea implicită la compilare este stabilită de variabila de configurare TFTPD_MAX_WINDOWSIZE, iar valoarea implicită este 256.
Limitează fereastra negociată astfel încât dimensiunea blocului negociat înmulțită cu dimensiunea ferestrei să nu depășească max-octeți-fereastră. O valoare egală cu zero, care este valoarea implicită, dezactivează această limită. O limită care permite mai puțin de două blocuri determină serverul să utilizeze modul normal de funcționare în pași sincronizați ,„lockstep” în loc să returneze opțiunea windowsize.
Valoarea implicită la compilare este stabilită de variabila de configurare TFTPD_MAX_WINDOWBYTES și este, în mod implicit, 4194304 (4 Mio).
Forțează numărul de port al serverului (ID-ul tranzacției) să se afle în intervalul specificat de numerele de port. Această opțiune poate fi utilizată pentru a simplifica crearea regulilor de paravan de protecție sau urmărirea pachetelor.
Valorile port-min și port-max trebuie să fie numere zecimale cuprinse între 1 și 65535.
Trimite mesajele de jurnal către syslog. Aceasta este valoarea implicită.
Trimite mesajele de jurnal către ieșirea de eroare standard în loc de syslog. Opțiunea =format este o formă prescurtată pentru “--stderr --logformat format”.
Trimite mesajele de jurnal către ieșirea standard în loc de syslog. Opțiunea =format este o formă prescurtată pentru “--stdout --logformat format”.
Trimite mesajele de jurnal către fișier în loc de syslog. Fișierul este deschis pentru adăugare și, dacă nu există, este creat cu permisiunile 0644. Dacă tftpd rulează în modul autonom (de ascultare), fișierul va fi închis și redeschis la primirea semnalului SIGHUP, pentru a permite rotația fișierului de jurnal.
Stabilește formatul de ieșire al jurnalului. Formatele de jurnal definite în prezent sunt:
Utilizează etichete de prioritate ușor de înțeles. Aceasta este valoarea implicită.
Utilizează etichete de prioritate care pot fi citite de către mașină.
Deoarece syslog generează propriile etichete, --logformat nu se aplică ieșirii syslog.
Utilizați activarea prin soclu systemd. Această opțiune se utilizează numai într-un fișier de unitate systemd. Consultați
Această opțiune face, de asemenea, ca procesul tftpd să ruleze în prim-plan, ca și cum ar fi fost specificată opțiunea --foreground, dar, spre deosebire de opțiunea --foreground, nu modifică valoarea implicită a opțiunii --timeout.
Afișează numărul versiunii și configurația la ieșirea standard, apoi iese. Nu se pornește niciun proces demon și nu se configurează niciun soclu de ascultare.

NEGOCIEREA OPȚIUNILOR RFC 2347

Această versiune de tftpd acceptă negocierea opțiunilor RFC 2347. Opțiunile implementate în prezent sunt:

Stabilește dimensiunea blocului de transfer la o valoare mai mică sau egală cu cea a opțiunii specificate. Această versiune de tftpd poate accepta orice dimensiune a blocului până la maximul teoretic de 65464 octeți.
Stabilește dimensiunea blocului de transfer la orice valoare mai mică sau egală cu opțiunea specificată, dar limitează răspunsurile posibile la puteri de 2. Maximul este de 32768 octeți (cea mai mare putere de 2 mai mică sau egală cu 65464).
Raportează dimensiunea fișierului care urmează să fie transferat. Această versiune de tftpd acceptă doar opțiunea tsize pentru transferurile în modul binar (octet). În cazul tranzacțiilor de încărcare (scriere), valoarea este considerată neschimbată și, dacă este specificată --max-upload, este utilizată pentru a impune limita de încărcare.
Stabilește timpul înainte ca serverul să retransmită un pachet, în secunde.
Stabilește timpul înainte ca serverul să retransmită un pachet, în microsecunde.
Stabilește numărul de blocuri de date transmise înainte de a fi necesară o confirmare de primire. Valoarea maximă este stabilită de opțiunile --windowsize și --window-bytes. O fereastră poate fi retransmisă integral sau parțial, în funcție de pachetele specifice de confirmare primite de la client.
Stabilește numărul de bloc la care trebuie să se reia după o schimbare a numărului de bloc. Valoarea implicită și recomandată este zero, dar unii clienți se așteaptă să primească 1.

Această versiune a tftpd acceptă doar 0 și 1 ca valori valide pentru rollover (reluarea de la început a, reinițierea numerotării blocurilor).

Opțiunea cookie acceptă un șir arbitrar de până la 255 de octeți și îl retransmite clientului ca parte a pachetului de răspuns (OACK). Șirul cookie poate fi utilizat:
1.
De către client, pentru a verifica dacă pachetul de răspuns corespunde pachetului de solicitare. Protocolul TFTP standard îngreunează acest proces, deoarece serverul TFTP returnează de obicei răspunsul inițial folosind un număr de port diferit și, în anumite circumstanțe, chiar o adresă IP diferită.
2.
De către server, pentru a detecta recepția duplicată (ca urmare a retransmisiei) a pachetelor de solicitare, spre deosebire de o nouă sesiune de transmisie.

Opțiunea --refuse poate fi utilizată pentru a dezactiva anumite opțiuni specifice; acest lucru poate fi necesar pentru a rezolva erori în anumite implementări ale clienților TFTP. De exemplu, s-a constatat că unii clienți TFTP solicită opțiunea blksize, dar se blochează cu o eroare în cazul în care primesc efectiv opțiunea acceptată de server.

Opțiunea --refuse-all dezactivează toate opțiunile TFTP, astfel încât serverul nu va returna niciodată un pachet OACK.

PROCESAREA NUMELOR DE FIȘIERE

Numele fișierului solicitat de server parcurge următoarele etape, în această ordine:

1.
Dacă se utilizează opțiunea --map-file, are loc recartografierea numelor de fișiere. A se vedea secțiunea „RECARTOGRAFIEREA NUMELOR DE FIȘIERE” de mai jos.
2.
Dacă se utilizează opțiunea --normalize, se efectuează normalizarea numelor de fișiere. A se vedea opțiunea --normalize mai sus.
3.
Dacă opțiunile --secure sau --jail nu sunt utilizate, sau dacă este specificată opțiunea --validate, se efectuează validarea rutei. A se vedea secțiunea „VALIDAREA RUTEI” de mai jos.
4.
Dacă se utilizează opțiunea --path-prefix, prefixul rutei este adăugat la început.

RECARTOGRAFIEREA NUMELOR DE FIȘIERE

Opțiunea --map-file specifică un fișier care conține reguli de reîcartografiere a numelor de fișiere. Fiecare linie care nu este comentariu (comentariile încep cu semne hash, #) conține fie o etichetă, precedată de două puncte:

:etichetă

sau o operație, specificată mai jos, urmată de o expresie regulată extinsă exp-reg (a se vedea , și opțional, un model de înlocuire. Operația indicată de operație este efectuată dacă exp-reg se potrivește cu tot sau o parte din numele fișierului. Regulile sunt procesate de sus în jos și, în mod implicit, toate regulile sunt procesate chiar dacă există o potrivire.

Uneori este util să existe o regulă care să se potrivească întotdeauna, în acest caz, expresia regulată:

^

(un singur simbol caret) poate fi utilizat.

operația poate fi orice combinație validă a următoarelor caractere:

Înlocuiește subșirul de caractere care se potrivește expresiei regulate exp-reg cu modelul de înlocuire. Modelul de înlocuire poate conține secvențe de eludare; a se vedea mai jos.
r nu poate fi utilizată împreună cu ~, a sau j.
Repetă înlocuirea până când nu mai corespunde, căutând întregul șir, inclusiv înlocuirile, de fiecare dată de la început.
g este întotdeauna utilizată împreună cu r.
Repetă această înlocuire până când nu se mai potrivește, dar numai pe porțiunea de șir care nu a fost încă comparată, similar cu modul în care funcționează comanda s cu opțiunea g în
gg este întotdeauna utilizată împreună cu r.
Potrivește exp-reg fără a ține cont de diferența dintre majuscule și minuscule. În mod implicit, este sensibil la majuscule și minuscule.
Dacă această regulă se potrivește, încheie procesarea regulilor după executarea regulii.
e nu poate fi utilizată împreună cu a, E, j sau s.
Dacă această regulă corespunde, și rezultatul corespunde unui nume de fișier care poate fi transferat, se încheie procesarea regulii după executarea regulii. Dacă aceasta este utilizată cu r, atunci dacă substituția nu are ca rezultat un nume de fișier valid, substituția este anulată.
E nu poate fi utilizată împreună cu a, e, j sau s.
În cazul în care această regulă se potrivește, începe procesarea regulilor de la prima regulă după executarea acestei reguli.
s nu poate fi utilizată împreună cu a, e, E sau j.
Dacă această regulă se potrivește, se refuză cererea și se trimite clientului o eroare de acces refuzat.
a nu poate fi utilizată împreună cu e, E, j, r sau s.
Dacă această regulă se potrivește, trece la eticheta specificată de model de înlocuire.
Această regulă se aplică numai solicitărilor GET (RRQ).
Această regulă se aplică numai solicitărilor PUT (WRQ).
4
Această regulă se aplică numai sesiunilor IPv4.
6
Această regulă se aplică numai sesiunilor IPv6.
~
Inversează sensul acestei reguli, adică execută operația numai dacă exp-reg nu se potrivește.
~ nu poate fi utilizat împreună cu r.

Următoarele secvențe de eludare/control sunt recunoscute ca făcând parte dintr-un model de înlocuire:

\0
Întregul șir de caractere care se potrivește cu exp-reg.
\1 la \9
Șirurile care corespund fiecăreia dintre primele nouă subexpresii dintre paranteze, (...), ale modelului exp-reg.
Adresa IP a gazdei solicitante, în notație „patru-între-puncte” pentru IPv4 (de exemplu, 192.0.2.169) sau în forma convențională cu două puncte „:” pentru IPv6 (de exemplu, 2001:db8::1).
Adresa IP a gazdei solicitante, în notație hexazecimală extinsă (de exemplu, C00002A9 pentru IPv4 sau 20010DB8000000000000000000000000000000000001 pentru IPv6).
\\
Bară oblică inversă literală.
Spațiu în alb literal.
\#
Semnul hash literar.
Transformă toate literele următoare în majuscule.
Transformă toate literele următoare în minuscule.
Anulează efectul lui \U sau \L.

Dacă fișierul de cartografiere este modificat, trebuie să trimiteți SIGHUP la orice proces tftpd rămas în așteptare.

VALIDAREA RUTEI

Dacă opțiunea --secure sau --jail nu este specificatã în linia de comandă, sau dacă este specificată opțiunea --validate, tftpd va efectua următoarea validare și canonizare a numelui rutei finale, înainte de a verifica dacă aceasta se află în unul dintre directoarele specificate în linia de comandă (canonizate în mod similar):

1.
Numele rutei trebuie să înceapă cu „/”.
2.
Ruta nu trebuie să conțină componente precum „.” sau „..”.
3.
Numele rutei nu trebuie să conțină caractere de control ASCII (0-31).
4.
Barele oblice consecutive și cele finale sunt eliminate.
5.
Pe platformele Windows, caracterele < > : " \ | ? *, care nu sunt permise în numele fișierelor, sunt interzise. Doar barele oblice (“/”) sunt permise ca separator de cale. O componentă a numelui de rută nu se poate termina cu un caracter „.” sau cu un spațiu, iar fiecare componentă a numelui de rută este verificată în raport cu lista de nume de fișiere rezervate Windows, inclusă în codul acestuia.

Validarea și canonizarea se efectuează după recartografierea numelor de fișiere, în cazul în care se utilizează recartografierea.

Dacă se specifică opțiunea --path-prefix, atunci prefixul rutei este adăugat la începutul rutei după ce a avut loc validarea rutei.

Atunci când se utilizează opțiunea --secure sau --jail, tftpd nu efectuează nicio validare a rutei.

SECURITATE

Utilizarea serviciilor TFTP nu necesită un cont sau o parolă pe sistemul server. Din cauza lipsei informațiilor de autentificare, tftpd va permite doar accesarea fișierelor care pot fi citite public (o+r), cu excepția cazului în care se specifică opțiunea --permisive. Fișierele pot fi scrise numai dacă există deja și pot fi scrise în mod public, cu excepția cazului în care se specifică opțiunea --create. Rețineți că acest lucru extinde conceptul de „public” pentru a include toți utilizatorii de pe toate gazdele care pot fi accesate prin rețea; este posibil ca acest lucru să nu fie adecvat pe toate sistemele, iar implicațiile sale trebuie luate în considerare înainte de a activa serviciul TFTP.

Dacă nu este necesar ca serverul să accepte cereri de scriere (încărcare), este recomandat să specificați opțiunea de linie de comandă --read-only pentru a preveni definirea accidentală a permisiunilor sistemului de fișiere, care ar putea permite în mod neintenționat încărcările.

Se recomandă cu tărie utilizarea unui paravan de protecție sau a unei soluții de filtrare a pachetelor pentru a restricționa accesul la portul TFTP. TFTP utilizează portul TFTP doar pentru pachetul inițial (cerere), astfel încât costul unui astfel de filtru este neglijabil.

Serverul ar trebui să fie configurat să ruleze ca utilizator cu cel mai mic privilegiu posibil; consultați opțiunea --user. Se recomandă cu tărie configurarea unui cont de utilizator specific pentru tftpd, în loc să se permită rularea acestuia ca „nobody”, pentru a preveni pierderile de privilegii între aplicații.

Accesul la fișiere este restricționat de lista de directoare transmisă către tftpd în linia de comandă. Alternativ, poate fi utilizată opțiunea --secure sau --jail pentru a configura un mediu root virtual în care serverul să funcționeze odată ce conexiunea a fost stabilită.

Funcționalitatea de asociere a numelor de fișiere (opțiunea --map-file) poate fi utilizată pentru a asigura un control detaliat al permisiunilor, precum și pentru a gestiona numele de rute nestandardizate solicitate de clienți, cum ar fi clienții Windows care se așteaptă să poată folosi \ ca separatori de rută.

Asigurați-vă că examinați fluxul „PROCESAREA NUMELOR DE FIȘIERE” pentru a vă asigura că numele rutelor procesate efectiv sunt cele dorite.

ÎN CONFORMITATE CU

RFC 1123, Requirements for Internet Hosts - Application and Support - (Cerințe pentru gazdele din Internet - Aplicație și asistență).
RFC 1350, The TFTP Protocol (revision 2) - (Protocolul TFTP (revizia 2)).
RFC 2347, TFTP Option Extension - (Extensie opțiune TFTP).
RFC 2348, TFTP Blocksize Option - (Opțiunea TFTP pentru dimensiunea blocurilor).
RFC 2349, TFTP Timeout Interval and Transfer Size Options _ (Opțiuni privind intervalul de temporizare TFTP și dimensiunea transferului).
RFC 7440, TFTP Windowsize Option

AUTOR

Această versiune de tftpd este întreținută de H. Peter Anvin <hpa@zytor.com>. Ea a fost derivată din, dar a deviat substanțial de la o bază sursă OpenBSD, la care au fost adăugate corecturi de către Markus Gutschke și Gero Kulhman.

ERORI

TFTP este un protocol incredibil de ineficient, chiar și cu opțiunea windowsize activată. Aceste ineficiențe sunt inerente protocolului și pot fi parțial ocolite, dar nu pot fi niciodată remediate. Singura sa justificare este faptul că un client TFTP încorporat poate fi implementat într-o memorie ROM extrem de mică.

Stivele TCP încorporate sunt acum ușor accesibile și, în general, ocupă mai puțin spațiu de stocare decât stratul de controlori hardware. Furnizorii de echipamente de rețea încorporate ar trebui să ia în considerare cu seriozitate utilizarea, în schimb, a unui protocol simplu bazat pe TCP, cum ar fi HTTP/1.0.

“Cei care nu înțeleg TCP sunt condamnați să îl reimplementeze, în mod defectuos, la un nivel nepotrivit.”

CONSULTAȚI ȘI

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

20 septembrie 2026 tftp-hpa 7.3