landlock_create_ruleset(2)

NUME
landlock_create_ruleset - creează un nou set de reguli Landlock

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#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);

DESCRIERE
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;
            __u64 scoped;
        };

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

    scoped este o mască de biți alcătuită din fanioane de domeniu (vezi Fanioane de domeniu î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:

LANDLOCK_CREATE_RULESET_VERSION
    Returnează cea mai recentă versiune Landlock ABI acceptată (începând de la 1). Această versiune poate fi utilizată pentru o abordare de securitate de tip „best-effort”, (cel mai bun efort) recomandată atunci când spațiul utilizator nu este fixat pe o versiune specifică a nucleului.

    Dacă nu se specifică altfel, toate funcțiile descrise în aceste pagini de manual sunt disponibile începând cu versiunea 1.

LANDLOCK_CREATE_RULESET_ERRATA
    Returnează o mască de biți a problemelor rezolvate pentru versiunea curentă a ABI-ului Landlock. Dacă bitul N este activat (adică errata & (1 << (N - 1))), atunci erata N a fost rezolvată în nucleul care rulează.

    Pe lângă versiunile ABI, mecanismul de erate al Landlock urmărește remedierea problemelor care pot afecta compatibilitatea cu versiunile anterioare sau care necesită o abordare specifică la nivelul spațiului de utilizator.

    Verificați lista de eratei doar dacă aplicația dumneavoastră se bazează în mod specific pe un comportament care s-a modificat ca urmare a remedierii.

    Lista completă a eratelor Landlock este disponibilă la https://docs.kernel.org/userspace-api/landlock.html#landlock-errata

    Acest fanion este disponibil în toate versiunile Linux în care au fost remediate erorile legate de Landlock. Aceasta include în mod specific toate cele mai recente versiuni de remediere a erorilor ale nucleelor stabile care acceptă Landlock.

Dacă LANDLOCK_CREATE_RULESET_VERSION sau LANDLOCK_CREATE_RULESET_ERRATA este activate, atunci attr trebuie să fie NULL, iar size trebuie să fie 0.

VALOAREA RETURNATĂ
În caz de succes, landlock_create_ruleset() returnează un nou descriptor de fișier de set de reguli Landlock, o versiune ABI Landlock,sau o mască de biți de erată Landlock, în conformitate cu fanioane.

În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE
landlock_create_ruleset() poate eșua din următoarele motive:

E2BIG
    dimensiunea este prea mare.

EFAULT
    attr nu a fost o adresă validă.

EINVAL
    fanioane necunoscut, sau acces necunoscut, sau domeniu necunoscut, sau dimensiunea prea mică.

EINVAL
    Valoarea attr diferită de NULL sau valoarea dimensiunea diferită de zero, în combinație cu LANDLOCK_CREATE_RULESET_VERSION sau LANDLOCK_CREATE_RULESET_ERRATA.

ENOMSG
    Accese goale (de exemplu, attr nu a specificat niciun drept de acces care să fie restricționat).

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

STANDARDE
Linux.

ISTORIC
Linux 5.13.

EXEMPLE
A se vedea landlock(7).

CONSULTAȚI ȘI
landlock_add_rule(2), landlock_restrict_self(2), landlock(7)

TRADUCERE
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 (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.