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  ⟨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⟩.