rpc.mountd(8) | System Manager's Manual | rpc.mountd(8) |
NUME¶
rpc.mountd - demon de montare NFS
SINOPSIS¶
/usr/sbin/rpc.mountd [opțiuni]
DESCRIERE¶
Demonul rpc.mountd implementează partea de server a protocolului NFS MOUNT, un protocol NFS auxiliar utilizat de NFS versiunea 2 [RFC1094] și NFS versiunea 3 [RFC1813]. De asemenea, răspunde la solicitările din partea nucleului Linux de autentificare a clienților și oferă detalii privind permisiunile de acces.
Serverul NFS (nfsd) păstrează o memorie cache cu informații de autentificare și autorizare care este utilizată pentru a identifica sursa fiecărei cereri și apoi ce permisiuni de acces are acea sursă la orice sistem de fișiere local. În cazul în care informațiile necesare nu se găsesc în memoria cache, serverul trimite o cerere către mountd pentru a completa informațiile lipsă. «mountd» utilizează un tabel de informații stocate în /var/lib/nfs/etab și întreținute de exportfs(8), eventual pe baza conținutului lui exports(5), pentru a răspunde la fiecare cerere.
Montarea sistemelor de fișiere NFS exportate¶
Protocolul NFS MOUNT are mai multe proceduri. Cele mai importante dintre acestea sunt MNT (montează un export) și UMNT (demontează un export).
O cerere MNT are două argumente: un argument explicit care conține numele de rută al directorului rădăcină al exportului care urmează să fie montat și un argument implicit care este adresa IP a expeditorului.
Atunci când primește o cerere MNT de la un client NFS, rpc.mountd verifică atât numele rutei, cât și adresa IP a expeditorului în tabelul său de export. În cazul în care expeditorului i se permite accesul la exportul solicitat, rpc.mountd returnează clientului un descriptor de fișier NFS pentru directorul rădăcină al exportului. Clientul poate utiliza apoi descriptorul de fișier rădăcină și cererile NFS LOOKUP pentru a naviga în structura de directoare a exportului.
Fișierul rmtab¶
Demonul rpc.mountd înregistrează fiecare solicitare MNT reușită prin adăugarea unei intrări în fișierul /var/lib/nfs/rmtab. Atunci când primește o cerere UMNT de la un client NFS, rpc.mountd elimină pur și simplu intrarea corespunzătoare din /var/lib/nfs/rmtab, atât timp cât lista de control al accesului pentru acel export permite expeditorului respectiv să acceseze exportul.
Clienții pot afla lista sistemelor de fișiere pe care un server NFS le exportă în prezent sau lista altor clienți care au montat exporturile sale, utilizând comanda showmount(8). showmount(8) utilizează alte proceduri din protocolul NFS MOUNT pentru a raporta informații despre sistemele de fișiere exportate de server.
Rețineți, totuși, că există puține garanții că informațiile din /var/lib/nfs/rmtab sunt corecte. Un client poate continua să acceseze un export chiar și după invocarea UMNT. Dacă clientul repornește fără a trimite o cerere UMNT, rămân intrări vechi pentru acel client în /var/lib/nfs/rmtab.
Montarea sistemelor de fișiere cu NFSv4¶
Versiunea 4 (și versiunile ulterioare) a NFS nu utilizează un protocol NFS MOUNT separat. În schimb, montarea se realizează cu ajutorul cererilor NFS obișnuite, gestionate de serverul NFS din nucleul Linux (nfsd). În consecință, /var/lib/nfs/rmtab nu este actualizat pentru a reflecta orice activitate NFSv4.
OPȚIUNI¶
- -d tip sau --debug tip
- Activează depanarea. Tipurile valide sunt: all, auth, call, general și parse.
- -l or --log-auth
- Activează înregistrarea în jurnal a răspunsurilor la cererile de autentificare și acces de la nfsd. Fiecare răspuns este memorat în memoria cache de către nucleu timp de 30 de minute (sau după cum se stabilește prin --ttl de mai jos) și va fi actualizat după 15 minute (jumătate din timpul ttl) dacă clientul respectiv rămâne activ. Rețineți că -l este echivalent cu -d auth și, prin urmare, poate fi activat în /etc/nfs.conf cu "debug = auth" în secțiunea [mountd].
- rpc.mountd va înregistra întotdeauna răspunsurile de autentificare la cererile MOUNT atunci când se utilizează NFSv3, dar pentru a obține jurnale similare pentru NFSv4, este necesară această opțiune.
- -i sau --cache-use-ipaddr
- În mod normal, fiecare adresă IP a clientului este comparată cu fiecare identificator de gazdă (nume, caractere joker, netgroup etc.) găsit în /etc/exports și se formează o identitate combinată din toți identificatorii care corespund. Adesea, mai mulți clienți se vor asocia cu aceeași identitate combinată, astfel încât această asociere reduce numărul de detalii de acces distincte pe care nucleul trebuie să le stocheze. Specificarea opțiunii -i suprimă această cartografiere, astfel încât accesul la fiecare sistem de fișiere este solicitat și pus în memoria cache separat pentru fiecare adresă IP a clientului. Acest lucru poate crește ușor sarcina de actualizare a memoriei cache, dar poate face ca mesajele de jurnal produse de opțiunea -l să fie mai ușor de citit.
- -T sau --ttl
- Furnizează o durată de existență (TTL) pentru informațiile din memoria cache furnizate nucleului. În mod normal, nucleul va solicita o actualizare în cazul în care informațiile sunt necesare după ce a expirat jumătate din acest timp. Creșterea numărului furnizat, care este exprimat în secunde, reduce rata solicitărilor de actualizare a cache-ului, iar acest lucru este vizibil în special atunci când aceste solicitări sunt înregistrate cu -l. Cu toate acestea, creșterea înseamnă, de asemenea, că modificările aduse la corespondența dintre numele de gazdă și adrese pot dura mai mult timp pentru a fi observate. TTL implicit este de 1800 (30 de minute).
- -F sau --foreground
- Rulează în prim-plan (nu se execută ca demon)
- -h sau --help
- Afișează mesajul de utilizare.
- -o număr sau --descriptors număr
- Stabilește limita numărului de descriptori de fișiere deschise la număr. Valoarea implicită este de a lăsa limita neschimbată.
- -N versiune-mountd sau --no-nfs-version versiune-mountd
- Această opțiune poate fi utilizată pentru a solicita ca rpc.mountd să nu ofere anumite versiuni de NFS. Versiunea actuală a rpc.mountd poate accepta atât NFS versiunea 2, cât și 3 și 4. În cazul în care niciuna dintre aceste versiuni nu trebuie să fie oferită, rpc.mountd trebuie să fie invocat cu opțiunea --no-nfs-version <versiune>.
- -n sau --no-tcp
- Nu anunță că protocolul TCP este disponibil pentru montare.
- -p număr sau -P număr sau --port număr
- Specifică numărul portului utilizat pentru soclurile de ascultare RPC. Dacă această opțiune nu este specificată, rpc.mountd va încerca să consulte /etc/services, dacă obține portul cu succes, stabilește același port pentru toate soclurile de ascultare, în caz contrar alege un port efemer aleatoriu pentru fiecare soclu de ascultare.
- Această opțiune poate fi utilizată pentru a fixa valoarea portului ascultătorilor rpc.mountd atunci când cererile NFS MOUNT trebuie să traverseze un paravan de protecție între clienți și servere.
- -H program sau --ha-callout program
- Specifică un program de apelare de înaltă disponibilitate. Acest program primește apeluri pentru toate solicitările MOUNT și UNMOUNT. Acest lucru permite ca rpc.mountd să fie utilizat într-un mediu NFS de înaltă disponibilitate (HA-NFS).
- Programul de apelare se execută cu 4 argumente. Primul este mount sau unmount, în funcție de motivul apelului. Al doilea va fi numele clientului care efectuează montarea. Al treilea va fi ruta pe care clientul o montează. Ultimul este numărul de montări simultane pe care credem că le are clientul pe ruta respectivă.
- Acest apel nu este necesar în cazul nucleelor 2.6 și ulterioare. În schimb, se montează sistemul de fișiere nfsd pe /proc/fs/nfsd.
- -s, --state-directory-path director
- Specifică un director în care să se plaseze informațiile de stare (etab și rmtab). Dacă această opțiune nu este specificată, se utilizează valoarea implicită de /var/lib/nfs.
- -r, --reverse-lookup
- rpc.mountd urmărește adresele IP în fișierul rmtab. Atunci când se face o cerere DUMP (de exemplu, de către cineva care execută showmount -a), acesta returnează în mod implicit adrese IP în loc de nume de gazdă. Această opțiune face ca rpc.mountd să efectueze o căutare inversă a fiecărei adrese IP și să returneze în schimb numele de gazdă respectiv. Activarea acestei opțiuni poate avea un efect negativ substanțial asupra performanței în anumite situații.
- -t N sau --num-threads=N sau --num-threads N
- Această opțiune specifică numărul de fire de lucru pe care rpc.mountd le generează. Valoarea implicită este de 1 fir, ceea ce este probabil suficient. Mai multe fire de execuție sunt de obicei necesare doar pentru serverele NFS care trebuie să se ocupe de rafale de montare de sute de montări NFS în câteva secunde sau atunci când serverul DNS este lent sau nesigur.
- -u sau --no-udp
- Nu anunță că protocolul UDP este disponibil pentru montare.
- -V versiune sau --nfs-version versiune
- Această opțiune poate fi utilizată pentru a solicita ca rpc.mountd să ofere anumite versiuni de NFS. Versiunea actuală a rpc.mountd poate accepta atât NFS versiunea 2, cât și versiunea 3, mai nouă.
- -v sau --version
- Afișează numărul versiunii de rpc.mountd și iese.
- -g sau --manage-gids
- Acceptă cereri din partea nucleului pentru a cartografia numerele de identificare a utilizatorilor în liste de numere de identificare a grupurilor pentru a fi utilizate în controlul accesului. O cerere NFS conține în mod normal (cu excepția cazului în care se utilizează Kerberos sau altă autentificare criptografică) un ID utilizator și o listă de ID-uri de grup. Din cauza unei limitări a protocolului NFS, pot fi enumerate cel mult 16 id-uri de grup. Dacă utilizați indicatorul -g, lista de id-uri de grup primită de la client va fi înlocuită cu o listă de id-uri de grup determinate de o căutare corespunzătoare pe server. Rețineți că ID-ul grupului „principal” nu este afectat, astfel încât o comandă newgroup pe client va fi în continuare eficientă. Această funcție necesită un nucleu Linux cu o versiune de cel puțin 2.6.21.
FIȘIER DE CONFIGURARE¶
Multe dintre opțiunile care pot fi stabilite la linia de comandă pot fi, de asemenea, controlate prin intermediul valorilor stabilite în secțiunile [mountd] sau, în unele cazuri, [nfsd] din fișierul de configurare /etc/nfs.conf. Valorile recunoscute în secțiunea [mountd] includ manage-gids, cache-use-ipaddr, descriptors, port, threads, ttl, reverse-lookup și state-directory-path, ha-callout care au fiecare același efect ca și opțiunea cu același nume.
Valorile recunoscute în secțiunea [nfsd] includ TCP, UDP, vers3 și vers4, care au fiecare aceeași semnificație ca cea dată de rpc.nfsd(8).
SUPORT PENTRU TCP_WRAPPERS¶
Puteți să vă protejați ascultătorii rpc.mountd folosind biblioteca tcp_wrapper sau iptables(8).
Rețineți că biblioteca tcp_wrapper acceptă numai rețele IPv4.
Adăugați în /etc/hosts.allow numele de gazdă ale omologilor NFS care au permisiunea de a accesa rpc.mountd. Utilizați numele demonului mountd chiar dacă binarul rpc.mountd are un nume diferit.
Numele de gazdă utilizate în oricare dintre fișierele de acces vor fi ignorate dacă nu pot fi rezolvate în adrese IP. Pentru informații suplimentare, consultați paginile de manual tcpd(8) și hosts_access(5).
Suport pentru protocoalele IPv6 și TI-RPC¶
TI-RPC este o condiție prealabilă pentru a susține NFS pe IPv6. Dacă suportul TI-RPC este integrat în rpc.mountd, acesta încearcă să pornească ascultători pe transporturile de rețea marcate „visible” în /etc/netconfig. Atâta timp cât cel puțin un ascultător de transport în rețea pornește cu succes, rpc.mountd va funcționa.
FIȘIERE¶
- /etc/exports
- fișier de intrare pentru exportfs, care enumeră exporturile, opțiunile de export și listele de control al accesului
- /var/lib/nfs/rmtab
- tabelul de clienți care accesează exporturile serverului.
CONSULTAȚI ȘI¶
exportfs(8), exports(5), showmount(8), rpc.nfsd(8), rpc.rquotad(8), nfs(5), nfs.conf(5), tcpd(8), hosts_access(5), iptables(8), netconfig(5)
RFC 1094 - „NFS: Network File System Protocol
Specification”
RFC 1813 - „NFS Version 3 Protocol Specification”
RFC 7530 - "Network File System (NFS) Version 4 Protocol"
RFC 8881 - "Network File System (NFS) Version 4 Minor Version 1
Protocol"
AUTOR¶
Olaf Kirch, H. J. Lu, G. Allan Morris III și o mulțime de alte persoane.
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.
31 decembrie 2009 |