landlock_restrict_self(2) System Calls Manual landlock_restrict_self(2) NUME landlock_restrict_self - aplica un set de reguli Landlock BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include /* Definirea constantelor LANDLOCK_* */ #include /* Definirea constantelor SYS_* */ int syscall(SYS_landlock_restrict_self, int ruleset_fd, uint32_t fanioane); DESCRIERE Odata ce un set de reguli Landlock este completat cu regulile dorite, apelul de sistem landlock_restrict_self() aplica acest set de reguli firului apelant. Consultai landlock(7) pentru o prezentare generala. Un fir poate fi restricionat cu mai multe seturi de reguli care sunt apoi compuse impreuna pentru a forma domeniul Landlock al firului. Acest lucru poate fi vazut ca o stiva de seturi de reguli, dar este implementat intr-un mod mai eficient. Un domeniu poate fi actualizat numai in aa fel incat constrangerile fiecarui set de reguli compus in trecut i in viitor sa restricioneze firul i viitorii sai copii pe toata durata de viaa. Astfel, este posibila aplicarea treptata a unor politici de control al accesului personalizate cu mai multe seturi de reguli independente provenind din surse diferite (de exemplu, configuraia sistemului de iniiere ,,init", politica sesiunii utilizatorului, politica integrata a aplicaiei). Cu toate acestea, majoritatea aplicaiilor ar trebui sa aiba nevoie doar de un singur apel la landlock_restrict_self() i ar trebui sa evite un numar arbitrar de astfel de apeluri din cauza limitei seturilor de reguli compuse. In schimb, dezvoltatorii sunt incurajai sa construiasca un singur set de reguli adaptate cu apeluri multiple la landlock_add_rule(2). Pentru a aplica un set de reguli, fie apelantul trebuie sa aiba capacitatea CAP_SYS_ADMIN in spaiul sau de nume de utilizator, fie firul trebuie sa aiba deja activat bitul no_new_privs. In ceea ce privete seccomp(2), acest lucru evita scenariile in care procesele neprivilegiate pot afecta comportamentul copiilor privilegiai (de exemplu, din cauza binarelor set-user-ID). Daca acest bit nu a fost deja activat de un antecesor al acestui fir, firul trebuie sa efectueze urmatorul apel: prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); ruleset_fd este un descriptor de fiier de set de reguli Landlock obinut cu landlock_create_ruleset(2) i complet incarcat cu un set de apeluri catre landlock_add_rule(2). In mod implicit, accesele refuzate provenite de la programe care se izoleaza in medii de tip sandbox sunt inregistrate prin intermediul subsistemului de audit. Astfel de evenimente indica de obicei un comportament neateptat, cum ar fi erori sau incercari de exploatare. Cu toate acestea, pentru a evita inregistrarea excesiva, cererile de acces refuzate de un domeniu care nu a fost creat de programul de origine nu sunt inregistrate in mod implicit. Raionamentul este ca programele ar trebui sa-i cunoasca propriul comportament, dar nu neaparat comportamentul altor programe. Aceasta configuraie implicita este potrivita pentru majoritatea programelor care se izoleaza in medii de tip sandbox. Pentru cazuri de utilizare specifice, urmatoarele fanioane permit programelor sa modifice acest comportament implicit de jurnalizare. Fanioanele LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF i LANDLOCK_RESTRICT_SELF_LOG_NEW_EXEC_ON se aplica domeniului Landlock nou creat. LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF Dezactiveaza inregistrarea acceselor refuzate provenite de la procesul care creeaza domeniul Landlock, precum i de la procesele sale copil, atata timp cat acestea continua sa execute acelai cod executabil (adica fara un apel execve(2) intermediar). Aceasta opiune este destinata programelor care executa cod necunoscut fara a apela execve(2), cum ar fi interpreii de scripturi. Programele care se izoleaza doar pe ele insele nu ar trebui sa activeze acest fanion, astfel incat utilizatorii sa poata fi notificai cu privire la incercarile de acces neautorizate prin intermediul jurnalelor de sistem. LANDLOCK_RESTRICT_SELF_LOG_NEW_EXEC_ON Activeaza inregistrarea acceselor refuzate dupa un apel execve(2), oferind o imagine de ansamblu asupra incercarilor de acces neautorizate efectuate de programele nou executate in cadrul domeniului Landlock creat. Se recomanda utilizarea acestui fanion numai in cazul in care se preconizeaza ca toate fiierele executabile poteniale din domeniu respecta restriciile de acces, intrucat un numar excesiv de intrari in jurnalul de audit ar putea ingreuna identificarea evenimentelor critice. LANDLOCK_RESTRICT_SELF_LOG_SUBDOMAINS_OFF Dezactiveaza inregistrarea acceselor refuzate provenite din domenii Landlock imbricate create de apelant sau de descendenii acestuia. Acest fanion trebuie sa fie activat in funcie de configuraia din timpul rularii, nu codificat static, pentru a evita suprimarea unor evenimente importante de securitate. Este util pentru medii de execuie de tip container sau instrumente de tip sandbox care pot lansa programe care, la randul lor, creeaza domenii Landlock i ar putea genera altfel jurnale excesive. Spre deosebire de LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF, acest fanion afecteaza doar domeniile imbricate viitoare, nu pe cel care este creat. De asemenea, poate fi utilizat cu o valoare ruleset_fd de -1 pentru a dezactiva jurnalele subdomeniilor fara a crea un domeniu. Urmatorul fanion permite aplicarea politicilor in procesele cu mai multe fire de execuie: LANDLOCK_RESTRICT_SELF_TSYNC (incepand cu ABI-ul Landlock versiunea 8) Aplica noua configuraie Landlock in mod atomic tuturor firelor de execuie ale procesului curent, inclusiv domeniul Landlock i configuraia de jurnalizare. Aceasta inlocuiete configuraia Landlock a firelor de execuie inrudite, indiferent de domeniile Landlock i configuraiile de jurnalizare stabilite anterior pe acele fire de execuie. Daca firul care efectueaza apelul ruleaza cu no_new_privs, aceasta operaie activeaza no_new_privs i pentru firele inrudite. VALOAREA RETURNATA In caz de succes, landlock_restrict_self() returneaza 0. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE landlock_restrict_self() poate eua din urmatoarele motive: E2BIG Numarul maxim de seturi de reguli compuse este atins pentru firul de apelare. Aceasta limita este in prezent de 64. EBADF ruleset_fd nu este un descriptor de fiier pentru firul curent. EBADFD ruleset_fd nu este un descriptor de fiier de set de reguli. EINVAL Valoare nevalida in fanioane. EOPNOTSUPP Landlock este acceptat de nucleu, dar este dezactivat la pornire. EPERM ruleset_fd nu are acces de citire la setul de reguli subiacente, sau firul apelant nu ruleaza cu no_new_privs, sau nu are CAP_SYS_ADMIN in spaiul de nume al utilizatorului. STANDARDE Linux. ISTORIC Linux 5.13. EXEMPLE A se vedea landlock(7). CONSULTAI I landlock_create_ruleset(2), landlock_add_rule(2), landlock(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.18 21 aprilie 2026 landlock_restrict_self(2)