proc_sys_fs(5)

NUME
/proc/sys/fs/ - variabile ale nucleului referitoare la sistemele de fișiere

DESCRIERE

/proc/sys/fs/
    Acest director conține fișiere și subdirectoare pentru variabilele nucleului referitoare la sistemele de fișiere.

/proc/sys/fs/aio-max-nr
/proc/sys/fs/aio-nr (ambele începând cu Linux 2.6.4)
    aio-nr este suma totală a numărului de evenimente specificate de apelurile io_setup(2) pentru toate contextele AIO active în prezent. Dacă aio-nr atinge aio-max-nr, atunci io_setup(2) va eșua cu eroarea EAGAIN. Creșterea aio-max-nr nu duce la prealocarea sau redimensionarea niciunei structuri de date a nucleului.

/proc/sys/fs/binfmt_misc
    Documentația pentru fișierele din acest director poate fi găsită în sursa nucleului Linux în fișierul Documentation/admin-guide/binfmt-misc.rst (sau în Documentation/binfmt_misc.txt pe nucleele mai vechi).

/proc/sys/fs/dentry-state (începând cu Linux 2.2)
    Acest fișier conține informații despre starea cache-ului de directoare (dcache). Fișierul conține șase numere, nr_dentry, nr_unused, age_limit (vârsta în secunde), want_pages (pagini solicitate de sistem) și două valori fictive.

    •   nr_dentry este numărul de dentries alocate (intrări dcache). Acest câmp este neutilizat în Linux 2.2.

    •   nr_unused este numărul de dentries neutilizate.

    •   age_limit este vârsta în secunde după care intrările dcache pot fi recuperate atunci când memoria este scurtă.

    •   want_pages este diferită de zero atunci când nucleul a apelat shrink_dcache_pages() și dcache nu este încă curățat.

/proc/sys/fs/dir-notify-enable
    Acest fișier poate fi utilizat pentru a dezactiva sau activa interfața dnotify descrisă în fcntl(2) la nivelul întregului sistem. O valoare de 0 în acest fișier dezactivează interfața, iar o valoare de 1 o activează.

/proc/sys/fs/dquot-max
    Acest fișier arată numărul maxim de intrări ale cotelor de disc din memoria cache. Pe unele sisteme (2.4), acesta nu este prezent. Dacă numărul de intrări libere de cotă de disc în cache este foarte mic și aveți un număr impresionant de utilizatori simultani ai sistemului, este posibil să doriți să măriți limita.

/proc/sys/fs/dquot-nr
    Acest fișier arată numărul de intrări de cote de disc alocate și numărul de intrări de cote de disc libere.

/proc/sys/fs/epoll/ (începând cu Linux 2.6.28)
    Acest director conține fișierul max_user_watches, care poate fi utilizat pentru a limita cantitatea de memorie a nucleului consumată de interfața epoll. Pentru detalii suplimentare, consultați epoll(7).

/proc/sys/fs/file-max
    Acest fișier definește o limită la nivel de sistem privind numărul de fișiere deschise pentru toate procesele. Apelurile sistemului care eșuează atunci când întâlnesc această limită eșuează cu eroarea ENFILE; (a se vedea, de asemenea, setrlimit(2), care poate fi utilizat de un proces pentru a stabili limita per-proces, RLIMIT_NOFILE, privind numărul de fișiere pe care le poate deschide). Dacă primiți multe mesaje de eroare în jurnalul nucleului despre epuizarea gestionarilor de fișiere (descrieri de fișiere deschise) (căutați „VFS: file-max limit <number> reached”), încercați să creșteți această valoare:

        echo 100000 > /proc/sys/fs/file-max

    Procesele privilegiate (CAP_SYS_ADMIN) pot trece peste limita file-max.

/proc/sys/fs/file-nr
    Acest fișier (numai pentru citire) conține trei numere: numărul de gestionari de fișiere alocați (de exemplu, numărul de descrieri de fișiere deschise; a se vedea open(2)); numărul de gestionari de fișiere libere; și numărul maxim de gestionari de fișiere (de exemplu, aceeași valoare ca /proc/sys/fs/file-max). Dacă numărul de gestionari de fișiere alocați este aproape de maxim, ar trebui să luați în considerare creșterea maximului. Înainte de Linux 2.6, nucleul aloca gestionari de fișiere în mod dinamic, dar nu-i elibera din nou. În schimb, gestionarii de fișiere liberi erau păstrați într-o listă pentru realocare; valoarea „free file handles” indică dimensiunea acelei liste. Un număr mare de gestionari de fișiere libere indică faptul că în trecut a existat un vârf în utilizarea gestionarilor de fișiere deschise. Începând cu Linux 2.6, nucleul dezalocă(eliberează) gestionarii de fișiere eliberate, iar valoarea „free file handles” este întotdeauna zero.

/proc/sys/fs/inode-max (prezent doar până la Linux 2.2)
    Acest fișier conține numărul maxim de noduri-i în memorie. Această valoare ar trebui să fie de 3-4 ori mai mare decât valoarea din file-max, deoarece stdin, stdout și soclurile de rețea au nevoie, de asemenea, de un nod-i pentru a le gestiona. Atunci când rămâneți în mod regulat fără noduri-i, trebuie să măriți această valoare.

    Începând cu Linux 2.4, nu mai există o limită statică a numărului de noduri-i, iar acest fișier este eliminat.

/proc/sys/fs/inode-nr
    Acest fișier conține primele două valori din inode-state.

/proc/sys/fs/inode-state
    Acest fișier conține șapte numere: nr_inodes, nr_free_inodes, preshrink și patru valori fictive (întotdeauna zero).

    nr_inodes reprezintă numărul de noduri-i pe care sistemul le-a alocat. nr_free_inodes reprezintă numărul de noduri-i libere.

    preshrink este diferită de zero atunci când nr_inodes > inode-max și sistemul trebuie să reducă lista de noduri-i în loc să aloce mai multe; de la Linux 2.4, acest câmp este o valoare falsă (întotdeauna zero).

/proc/sys/fs/inotify/ (începând cu Linux 2.6.13)
    Acest director conține fișierele max_queued_events, max_user_instances și max_user_watches, care pot fi utilizate pentru a limita cantitatea de memorie a nucleului consumată de interfața inotify. Pentru detalii suplimentare, consultați inotify(7).

/proc/sys/fs/lease-break-time
    Acest fișier specifică perioada de grație pe care nucleul o acordă unui proces care deține un contract de închiriere a unui fișier (fcntl(2)) după ce a trimis un semnal procesului respectiv prin care îl informează că un alt proces așteaptă să deschidă fișierul. În cazul în care titularul închirierii nu elimină sau nu retrogradează închirierea în această perioadă de grație, nucleul întrerupe cu forța închirierea.

/proc/sys/fs/leases-enable
    Acest fișier poate fi utilizat pentru a activa sau dezactiva închirierea fișierelor (fcntl(2)) la nivelul întregului sistem. Dacă acest fișier conține valoarea 0, închirierile sunt dezactivate. O valoare diferită de zero activează închirierile.

/proc/sys/fs/mount-max (începând cu Linux 4.9)
    Valoarea din acest fișier specifică numărul maxim de montări care pot exista într-un spațiu de nume al montărilor. Valoarea implicită din acest fișier este 100 000.

/proc/sys/fs/mqueue/ (începând cu Linux 2.6.6)
    Acest director conține fișierele msg_max, msgsize_max și queues_max, care controlează resursele utilizate de cozile de mesaje POSIX. Consultați mq_overview(7) pentru detalii.

/proc/sys/fs/nr_open (începând cu Linux 2.6.25)
    Acest fișier impune un plafon pentru valoarea la care poate fi ridicată limita de resurse RLIMIT_NOFILE (a se vedea getrlimit(2)). Acest plafon este impus atât pentru procesele neprivilegiate, cât și pentru cele privilegiate. Valoarea implicită în acest fișier este 1048576. Înainte de Linux 2.6.25, plafonul pentru RLIMIT_NOFILE era codificat la aceeași valoare.

/proc/sys/fs/overflowgid
/proc/sys/fs/overflowuid
    Aceste fișiere vă permit să modificați valoarea UID și GID fixe. Valoarea implicită este 65534. Unele sisteme de fișiere acceptă numai UID-uri și GID-uri pe 16 biți, deși în Linux UID-urile și GID-urile sunt pe 32 de biți. Atunci când unul dintre aceste sisteme de fișiere este montat cu scrierea activată, orice UID sau GID care ar depăși 65535 este convertit la valoarea de depășire înainte de a fi scris pe disc.

/proc/sys/fs/pipe-max-size (începând cu Linux 2.6.35)
    A se vedea pipe(7).

/proc/sys/fs/pipe-user-pages-hard (începând cu Linux 4.5)
    A se vedea pipe(7).

/proc/sys/fs/pipe-user-pages-soft (începând cu Linux 4.5)
    A se vedea pipe(7).

/proc/sys/fs/protected_fifos (începând cu Linux 4.19)
    Valoarea din acest fișier este/poate fi stabilită la una dintre următoarele valori:

    0   Scrierea în FIFO-uri este nerestricționată.

    1   Nu se permite O_CREAT open(2) pe FIFO-uri pe care apelantul nu le deține în directoare lipicioase cu acces de scriere la nivel global, cu excepția cazului în care FIFO-ul este deținut de proprietarul directorului.

    2   Ca și pentru valoarea 1, dar restricția se aplică și directoarelor lipicioase cu acces de scriere pentru grup.

    Intenția protecțiilor de mai sus este de a evita scrierile neintenționate într-o FIFO controlată de atacator atunci când un program se așteaptă să creeze un fișier obișnuit.

/proc/sys/fs/protected_hardlinks (începând cu Linux 3.6)
    În cazul în care valoarea din acest fișier este 0, nu sunt impuse restricții privind crearea de legături permanente (acesta este comportamentul istoric înainte de Linux 3.6). Atunci când valoarea din acest fișier este 1, se poate crea o legătură dură către un fișier țintă numai dacă una dintre următoarele condiții este adevărată:

    •   Procesul apelant are capacitatea CAP_FOWNER în spațiul său de nume al utilizatorului, iar UID-ul fișierului are o asociere în spațiul de nume.

    •   UID-ul sistemului de fișiere al procesului care creează legătura corespunde proprietarului (UID) fișierului țintă (după cum se descrie în credentials(7), UID-ul sistemului de fișiere al unui proces este în mod normal același cu UID-ul său efectiv).

    •   Toate condițiile următoare sunt adevărate:

        •   ținta este un fișier obișnuit;

        •   fișierul țintă nu are activat bitul de mod set-user-ID;

        •   fișierul țintă nu are biții de mod set-group-ID și group-executable activați; și

        •   apelantul are permisiunea de a citi și de a scrie în fișierul țintă (fie prin masca de permisiuni a fișierului, fie pentru că dispune de capacitățile corespunzătoare).

    Valoarea implicită în acest fișier este 0. Stabilirea valorii la 1 previne o clasă veche de probleme de securitate cauzate de cursele de timp de verificare și de timp de utilizare bazate pe legături dure, observate cel mai frecvent în directoare de tip acces-global-de-scriere precum /tmp. Metoda obișnuită de exploatare a acestui defect constă în depășirea limitelor de privilegii atunci când se urmărește o anumită legătură dură (de exemplu, un proces root urmărește o legătură dură creată de un alt utilizator). În plus, pe sistemele fără partiții separate, acest lucru împiedică utilizatorii neautorizați să „fixeze” fișiere vulnerabile set-user-ID și set-group-ID împotriva actualizării de către administrator, sau să facă legături către fișiere speciale.

/proc/sys/fs/protected_regular (începând cu Linux 4.19)
    Valoarea din acest fișier este/poate fi stabilită la una dintre următoarele valori:

    0   Scrierea în fișiere obișnuite este nerestricționată.

    1   Nu se permite O_CREAT open(2) pe fișiere obișnuite pe care apelantul nu le deține în directoare lipicioase cu acces de scriere global, cu excepția cazului în care fișierul obișnuit este deținut de proprietarul directorului.

    2   Ca și pentru valoarea 1, dar restricția se aplică și directoarelor lipicioase cu acces de scriere pentru grup.

    Intenția protecțiilor de mai sus este similară cu protected_fifos, dar permite unei aplicații să evite scrierea într-un fișier obișnuit controlat de atacator, atunci când aplicația se aștepta să creeze unul.

/proc/sys/fs/protected_symlinks (începând cu Linux 3.6)
    Atunci când valoarea din acest fișier este 0, nu sunt impuse restricții privind urmărirea legăturilor simbolice (de exemplu, acesta este comportamentul istoric înainte de Linux 3.6). Atunci când valoarea din acest fișier este 1, legăturile simbolice sunt urmate numai în următoarele circumstanțe:

    •   UID-ul sistemului de fișiere al procesului care urmează legătura corespunde proprietarului (UID) legăturii simbolice (după cum se descrie în credentials(7), UID-ul sistemului de fișiere al unui proces este în mod normal același cu UID-ul său efectiv);

    •   legătura nu se află într-un director lipicios cu acces global de scriere; sau

    •   legătura simbolică și directorul său părinte au același proprietar (UID)

    Un apel de sistem care nu reușește să urmeze o legătură simbolică din cauza restricțiilor de mai sus returnează eroarea EACCES în errno.

    Valoarea implicită în acest fișier este 0. Stabilirea valorii la 1 evită o clasă veche de probleme de securitate bazate pe curse de timp de verificare, timp de utilizare la accesarea legăturilor simbolice.

/proc/sys/fs/suid_dumpable (începând cu Linux 2.6.13)
    Valoarea din acest fișier este atribuită fanionului „dumpable” al unui proces în circumstanțele descrise în prctl(2). De fapt, valoarea din acest fișier determină dacă sunt produse fișiere de descărcare a conținutului memoriei pentru set-user-ID sau pentru alte binare protejate/alterate. Activarea parametrului „dumpable” afectează, de asemenea, dreptul de proprietate asupra fișierelor din directorul /proc/pid al unui proces, astfel cum este descris mai sus.

    Pot fi specificate trei valori întregi diferite:

    0 (implicit)]
        Acest lucru asigură comportamentul tradițional (înainte de Linux 2.6.13). Nu va fi produsă o descărcare a conținutului memoriei pentru un proces care și-a schimbat acreditările (apelând seteuid(2), setgid(2) sau similar, sau executând un program set-user-ID sau set-group-ID) sau al cărui binar nu are permisiunea de citire activată.

    1 ("debug")
        Toate procesele descarcă conținutul memoriei atunci când este posibil; (motivele pentru care un proces ar putea totuși să nu descarce conținutul memorie sunt descrise în core(5)). Descărcarea conținutului memoriei este deținută de ID-ul de utilizator al sistemului de fișiere al procesului de descărcare a datelor și nu se aplică nicio măsură de securitate. Acest mod este destinat numai situațiilor de depanare a sistemului: acest mod este nesigur deoarece permite utilizatorilor neprivilegiați să examineze conținutul memoriei proceselor privilegiate.

    2 ("suidsafe")
        Orice binar care, în mod normal, nu ar fi descărcat (a se vedea „0” de mai sus) este descărcat pentru a putea fi citit numai de către root. Acest lucru permite utilizatorului să elimine fișierul cu datele din memorie descărcate, dar nu să îl citească. Din motive de securitate, fișierele cu datele din memorie descărcate, în acest mod nu se vor suprascrie unul pe altul sau pe alte fișiere. Acest mod este adecvat atunci când administratorii încearcă să depaneze probleme într-un mediu normal.

        În plus, începând cu Linux 3.6, /proc/sys/kernel/core_pattern trebuie să fie fie un nume de rută absolut, fie o comandă de tip conductă, după cum se specifică în core(5). Vor fi scrise avertismente în jurnalul nucleului dacă core_pattern nu respectă aceste reguli și nu va fi produsă nicio descărcare a conținutului memoriei.

    Pentru detalii despre efectul activării parametrului „dumpable” al unui proces asupra verificării modului de acces ptrace, consultați ptrace(2).

/proc/sys/fs/super-max
    Acest fișier controlează numărul maxim de super-blocuri și, prin urmare, numărul maxim de sisteme de fișiere montate pe care le poate avea nucleul. Trebuie să măriți doar super-max dacă trebuie să montați mai multe sisteme de fișiere decât vă permite valoarea curentă din super-max.

/proc/sys/fs/super-nr
    Acest fișier conține numărul de sisteme de fișiere montate în prezent.

CONSULTAȚI ȘI
proc(5), proc_sys(5)

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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.