landlock_create_ruleset(2) System Calls Manual landlock_create_ruleset(2)

landlock_create_ruleset - creează un nou set de reguli Landlock

Biblioteca C standard (libc, -lc)

#include <linux/landlock.h>  /* Definirea constantelor LANDLOCK_* */
#include <sys/syscall.h>     /* Definirea constantelor SYS_* */
#include <unistd.h>
int syscall(SYS_landlock_create_ruleset,
            const struct landlock_ruleset_attr *attr,
            size_t dimensiunea , uint32_t fanioane);

Un set de reguli Landlock identifică un set de reguli (adică acțiuni asupra obiectelor). Acest apel de sistem landlock_create_ruleset() creează un nou descriptor de fișier care identifică un set de reguli. Acest descriptor de fișier poate fi utilizat apoi de landlock_add_rule(2) și landlock_restrict_self(2). A se vedea landlock(7) pentru o prezentare generală.

attr specifică proprietățile noului set de reguli. Acesta indică următoarea structură:


struct landlock_ruleset_attr {
    __u64 handled_access_fs;
    __u64 handled_access_net;
};

handled_access_fs este o mască de biți a acțiunilor sistemului de fișiere gestionate (a se vedea Acțiuni ale sistemului de fișiere în landlock(7)).
handled_access_net este o mască de biți a acțiunilor de rețea gestionate (a se vedea Acțiuni de rețea în landlock(7)).
Această structură definește un set de drepturi de acces gestionate, un set de acțiuni asupra diferitelor tipuri de obiecte, care ar trebui să fie refuzate implicit atunci când setul de reguli este pus în aplicare. Viceversa, drepturile de acces care nu sunt enumerate în mod specific aici nu vor fi refuzate de acest set de norme atunci când este pus în aplicare.
Din motive istorice, dreptul LANDLOCK_ACCESS_FS_REFER este întotdeauna refuzat implicit, chiar și atunci când bitul său nu este activat în handled_access_fs. Pentru a adăuga reguli noi cu acest drept de acces, bitul trebuie totuși activat explicit (a se vedea Acțiuni ale sistemului de fișiere în landlock(7)).
Listarea explicită a drepturilor de acces handled este necesară din motive de compatibilitate retroactivă. În majoritatea cazurilor de utilizare, procesele care utilizează Landlock vor avea o gamă largă handle sau toate drepturile de acces despre care știu la momentul construirii (și pe care le-au testat cu un nucleu care le acceptă pe toate).
Această structură poate crește în viitoarele versiuni Landlock.

dimensiunea trebuie să fie specificată ca sizeof(struct landlock_ruleset_attr) din motive de compatibilitate.

flanione trebuie să fie 0 dacă se utilizează attr. În caz contrar, fanioane poate fi stabilit la:

Dacă attr este NULL și dimensiunea este 0, atunci valoarea returnată este cea mai mare versiune ABI Landlock acceptată (începând de la 1). Această versiune poate fi utilizată pentru o abordare de securitate „best-effort” (cel mai bun efort), care este încurajată atunci când spațiul utilizatorului nu este fixat pe o anumită versiune de nucleu. Toate caracteristicile documentate în aceste pagini de manual sunt disponibile cu versiunea 1.

În caz de succes, landlock_create_ruleset() returnează un nou descriptor de fișier de set de reguli Landlock sau o versiune ABI Landlock, în conformitate cu fanioane. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

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

Landlock este acceptat de nucleu, dar este dezactivat la pornire.
fanioane necunoscut, sau acces necunoscut, sau dimensiunea prea mică.
dimensiunea este prea mare.
attr nu a fost o adresă validă.
Accese goale (de exemplu, attr nu a specificat niciun drept de acces care să fie restricționat).

Linux.

Linux 5.13.

A se vedea landlock(7).

landlock_add_rule(2), landlock_restrict_self(2), landlock(7)

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

26 noiembrie 2024 Pagini de manual de Linux 6.12