Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       chroot - schimbă directorul rădăcină

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #include <unistd.h>

       int chroot(const char *ruta);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       chroot():
           Începând cu glibc 2.2.2:
               _XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
                   || /* Începând cu glibc 2.20: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _BSD_SOURCE
           Înainte de glibc 2.2.2:
               nimic

DESCRIERE

       chroot()  schimbă  directorul rădăcină al procesului apelant în cel specificat în rută. Acest director va
       fi utilizat pentru numele de rută care încep cu /. Directorul  rădăcină  este  moștenit  de  toți  copiii
       procesului apelant.

       Numai  un  proces  privilegiat  (Linux:  unul  cu  capacitatea  CAP_SYS_CHROOT  în  spațiul  de  nume  al
       utilizatorului) poate apela chroot().

       Acest apel modifică un ingredient în procesul de rezolvare a numelui de rută și nu face nimic altceva. În
       special, nu este destinat să fie utilizat în niciun fel de scop de  securitate,  nici  pentru  a  face  o
       „cutie de nisip” completă a unui proces, nici pentru a restricționa apelurile de sistem ale sistemului de
       fișiere.  În  trecut,  chroot()  a  fost  utilizat  de către demoni pentru a se restricționa înainte de a
       transmite rutele de acces furnizate de utilizatori care nu prezintă încredere la apelurile de sistem, cum
       ar fi open(2).  Cu toate acestea, dacă un dosar este mutat în  afara  directorului  chroot,  un  atacator
       poate  exploata  acest  lucru  pentru a ieși și din directorul chroot. Cel mai simplu mod de a face acest
       lucru este să facă chdir(2) la directorul care urmează să fie mutat, să aștepte ca acesta să  fie  mutat,
       apoi să deschidă o rută precum „../../../etc/passwd”.

       O variantă puțin mai complicată funcționează, de asemenea, în anumite circumstanțe, dacă chdir(2) nu este
       permis.  Dacă  un demon permite specificarea unui „director chroot”, aceasta înseamnă, de obicei, că dacă
       doriți să împiedicați utilizatorii de la distanță să acceseze  fișiere  din  afara  directorului  chroot,
       trebuie să vă asigurați că dosarele nu sunt niciodată mutate în afara acestuia.

       Acest  apel  nu  modifică  directorul  de  lucru  curent,  astfel încât, după apel, „.” poate fi în afara
       arborelui cu rădăcina „/”.În special, superutilizatorul poate scăpa dintr-o „închisoare chroot” făcând:

           mkdir foo; chroot foo; cd ..

       Acest apel nu închide descriptorii de fișiere deschise, iar astfel de descriptori de fișiere pot  permite
       accesul la fișiere din afara arborelui chroot.

VALOAREA RETURNATĂ

       În  caz  de  succes,  se  returnează zero. În caz de eroare, se returnează -1, iar errno este configurată
       pentru a indica eroarea.

ERORI

       În funcție de sistemul de fișiere, pot fi returnate și alte erori. Cele mai generale erori sunt enumerate
       mai jos:

       EACCES Permisul de căutare este refuzat pentru o componentă a prefixului rutei; (a se vedea, de asemenea,
              path_resolution(7).)

       EFAULT ruta indică în afara spațiului de adrese accesibil.

       EIO    A apărut o eroare de In/Ieș.

       ELOOP  S-au întâlnit prea multe legături simbolice în rezolvarea rutei.

       ENAMETOOLONG
              ruta este prea lungă.

       ENOENT Fișierul nu există.

       ENOMEM Nu a fost disponibilă suficientă memorie pentru nucleu.

       ENOTDIR
              O componentă a rutei nu este un director.

       EPERM  Apelantul nu are privilegii suficiente.

STANDARDE

       SVr4, 4.4BSD, SUSv2 ( marcată ca „LEGACY”). Această funcție nu face parte din POSIX.1-2001.

NOTE

       Un proces-copil creat prin fork(2) moștenește directorul rădăcină al părintelui său. Directorul  rădăcină
       este lăsat neschimbat de execve(2).

       Legătura simbolică magică, /proc/[pid]/root, poate fi utilizată pentru a descoperi directorul rădăcină al
       unui proces; a se vedea proc(5) pentru detalii.

       FreeBSD are un apel de sistem jail() mai puternic.

CONSULTAȚI ȘI

       chroot(1), chdir(2), pivot_root(2), path_resolution(7), switch_root(8)

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   creată   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.

Pagini de manual de Linux 6.03                  5 februarie 2023                                       chroot(2)