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

NUME

       landlock_restrict_self - aplică un set de reguli Landlock

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #include <linux/landlock.h>  /* Definirea constantelor LANDLOCK_* */
       #include <sys/syscall.h>     /* Definirea constantelor SYS_* */

       int syscall(SYS_landlock_restrict_self, int ruleset_fd,
                   uint32_t fanioane);

DESCRIERE

       Odată  ce  un  set  de reguli Landlock este completat cu regulile dorite, apelul de sistem
       landlock_restrict_self() permite aplicarea acestui set de  reguli  pe  firul  de  execuție
       apelant.  A se vedea landlock(7) pentru o prezentare generală.

       Un  fir  poate  fi  restricționat  cu  mai  multe  seturi de reguli care sunt apoi compuse
       împreună pentru a forma domeniul Landlock al firului.  Acest lucru poate  fi  văzut  ca  o
       stivă  de  seturi  de  reguli,  dar este implementat într-un mod mai eficient.  Un domeniu
       poate fi actualizat numai în așa fel încât constrângerile fiecărui set de reguli compus în
       trecut  și  în  viitor  să  restricționeze  firul și viitorii săi copii pe toată durata de
       viață.  Astfel, este posibilă aplicarea treptată a unor politici de control  al  accesului
       personalizate  cu mai multe seturi de reguli independente provenind din surse diferite (de
       exemplu, configurația sistemului de inițiere  „init”,  politica  sesiunii  utilizatorului,
       politica integrată a aplicației).  Cu toate acestea, majoritatea aplicațiilor ar trebui să
       aibă nevoie doar de un singur apel la landlock_restrict_self() și ar trebui  să  evite  un
       număr  arbitrar  de  astfel  de apeluri din cauza limitei seturilor de reguli compuse.  În
       schimb, dezvoltatorii sunt încurajați să construiască un set de  reguli  adaptat  datorită
       apelurilor multiple la landlock_add_rule(2).

       Pentru  a aplica un set de reguli, fie apelantul trebuie să aibă capacitatea CAP_SYS_ADMIN
       în spațiul său de nume de utilizator,  fie  firul  trebuie  să  aibă  deja  activat  bitul
       no_new_privs.   În  ceea  ce  privește  seccomp(2),  acest  lucru evită scenariile în care
       procesele neprivilegiate pot afecta comportamentul copiilor privilegiați (de exemplu,  din
       cauza  binarelor  set-user-ID).   Dacă acest bit nu a fost deja activat de un antecesor al
       acestui fir, firul trebuie să efectueze următorul apel:

              prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0);

       ruleset_fd  este  un  descriptor  de  fișier  de  set  de  reguli  Landlock   obținut   cu
       landlock_create_ruleset(2)   și   complet   încărcat   cu   un   set   de   apeluri  către
       landlock_add_rule(2).

       fanioane trebuie să fie 0.

VALOAREA RETURNATĂ

       În caz de succes, landlock_restrict_self() returnează 0.

ERORI

       landlock_restrict_self() poate eșua din următoarele motive:

       EOPNOTSUPP
              Landlock este acceptat de nucleu, dar este dezactivat la pornire.

       EINVAL fanioane nu este 0.

       EBADF  ruleset_fd nu este un descriptor de fișier pentru firul curent.

       EBADFD ruleset_fd nu este un descriptor de fișier de set de reguli.

       EPERM  ruleset_fd nu are acces de citire la setul de reguli subiacente, sau firul  apelant
              nu  rulează  cu  no_new_privs,  sau  nu  are  CAP_SYS_ADMIN  în  spațiul de nume al
              utilizatorului.

       E2BIG  Numărul maxim de seturi de reguli compuse  este  atins  pentru  firul  de  apelare.
              Această limită este în prezent de 64.

VERSIUNI

       Landlock a fost adăugat în Linux 5.13.

STANDARDE

       Acest apel de sistem este specific pentru Linux.

EXEMPLE

       A se vedea landlock(7).

CONSULTAȚI ȘI

       landlock_create_ruleset(2), landlock_add_rule(2), landlock(7)

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