rpc.mountd - demon de montare NFS
/usr/sbin/rpc.mountd [opțiuni]
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.
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.
- -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).
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).
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.
- /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.
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"
Olaf Kirch, H. J. Lu, G. Allan Morris III și o
mulțime de alte persoane.
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.