landlock_add_rule(2) System Calls Manual landlock_add_rule(2) NUME landlock_add_rule - adauga o noua regula Landlock la un set de reguli BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include /* Definirea constantelor LANDLOCK_* */ #include /* Definirea constantelor SYS_* */ int syscall(SYS_landlock_add_rule, int ruleset_fd, enum landlock_rule_type rule_type, const void *rule_attr, uint32_t fanioane); DESCRIERE O regula Landlock descrie o aciune asupra unui obiect pe care procesul intenioneaza sa o efectueze. Un set de reguli este agregat intr-un set de reguli, care poate apoi restriciona firul care il aplica i viitorii sai copii. Apelul de sistem landlock_add_rule() adauga o noua regula Landlock la un set de reguli existent. Consultai landlock(7) pentru o prezentare generala. ruleset_fd este un descriptor de fiier de set de reguli Landlock obinut cu landlock_create_ruleset(2). rule_type identifica tipul de structura indicat de rule_attr. In prezent, Linux accepta urmatoarele valori rule_type: LANDLOCK_RULE_PATH_BENEATH Pentru aceste reguli, obiectul este o ierarhie de fiiere, iar aciunile aferente sistemului de fiiere sunt definite cu drepturi de acces la sistemul de fiiere. In acest caz, rule_attr indica urmatoarea structura: struct landlock_path_beneath_attr { __u64 allowed_access; __s32 parent_fd; } __attribute__((packed)); allowed_access conine o masca de bii a aciunilor sistemului de fiiere permise, care pot fi aplicate asupra parent_fd specificat (a se vedea Aciuni ale sistemului de fiiere in landlock(7)). parent_fd este un descriptor de fiier deschis, de preferina cu indicatorul O_PATH, care identifica directorul parinte al ierarhiei de fiiere sau doar un fiier. LANDLOCK_RULE_NET_PORT Pentru aceste reguli, obiectul este un port TCP, iar aciunile aferente sunt definite cu drepturi de acces la reea. In acest caz, rule_attr indica urmatoarea structura: struct landlock_net_port_attr { __u64 allowed_access; __u64 port; }; allowed_access conine o masca de bii a aciunilor de reea permise, care pot fi aplicate pe portul dat. port este portul de reea in ordinea de octei ,,endianness" a gazdei. Trebuie remarcat faptul ca portul 0 transmis catre bind(2) se va lega la un port disponibil din gama de porturi efemere. Acesta poate fi configurat in sysctl /proc/sys/net/ipv4/ip_local_port_range (utilizat i pentru IPv6). O regula Landlock cu portul 0 i dreptul LANDLOCK_ACCESS_NET_BIND_TCP inseamna ca solicitarea de conectare pe portul 0 este permisa i se va traduce automat in conectare pe intervalul de porturi aferent. fanioane trebuie sa fie 0. VALOAREA RETURNATA In caz de succes, landlock_add_rule() returneaza 0. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE landlock_add_rule() poate eua din urmatoarele motive: EAFNOSUPPORT rule_type este LANDLOCK_RULE_NET_PORT, dar TCP nu este acceptat de nucleul care ruleaza. EBADF ruleset_fd nu este un descriptor de fiier pentru firul curent sau un membru al rule_attr nu este un descriptor de fiier, aa cum era de ateptat. EBADFD ruleset_fd nu este un descriptor de fiier pentru firul curent sau un membru al rule_attr nu este un descriptor de fiier, aa cum era de ateptat.ruleset_fd nu este un descriptor de fiier de set de reguli sau un membru al rule_attr nu este tipul de descriptor de fiier ateptat. EFAULT rule_attr nu a fost o adresa valida. EINVAL fanioane(flags) nu este 0. EINVAL Accesele la reguli sunt inconsecvente (de exemplu, rule_attr->allowed_access nu este un subset al acceselor gestionate de setul de reguli). EINVAL In struct landlock_path_beneath_attr, accesele la reguli nu se aplica fiierului (de exemplu, unele drepturi de acces din rule_attr->allowed_access se aplica numai directoarelor, dar rule_attr->parent_fd nu se refera la un director). EINVAL In struct landlock_net_port_attr, numarul portului este mai mare de 65535. ENOMSG Accese goale (adica, rule_attr->allowed_access este 0). EOPNOTSUPP Landlock este acceptat de nucleu, dar este dezactivat la pornire. EPERM ruleset_fd nu are acces de scriere la setul de reguli de baza. STANDARDE Linux. ISTORIC Linux 5.13. EXEMPLE A se vedea landlock(7). CONSULTAI I landlock_create_ruleset(2), landlock_restrict_self(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 6 aprilie 2026 landlock_add_rule(2)