landlock_add_rule - adaugă o nouă regulă Landlock la un set de reguli
Biblioteca C standard (libc, -lc)
#include <linux/landlock.h> /* Definirea constantelor LANDLOCK_* */
#include <sys/syscall.h> /* 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); O regulă Landlock descrie o acțiune asupra unui obiect. Un obiect este în prezent o ierarhie de fișiere, iar acțiunile aferente sistemului de fișiere sunt definite cu un set de drepturi de acces. Acest apel de sistem landlock_add_rule() permite adăugarea unei noi reguli Landlock la un set de reguli existent creat cu landlock_create_ruleset(2). A se vedea landlock(7)EN pentru o prezentare generală.
ruleset_fd este un descriptor de fișier de set de reguli Landlock obținut cu landlock_create_ruleset(2).
rule_type identifică tipul de structură indicat de rule_attr. În prezent, Linux acceptă următoarea valoare rule_type:
- LANDLOCK_RULE_PATH_BENEATH
- Acest lucru definește tipul de obiect ca fiind o ierarhie de fișiere. În acest caz, rule_attr indică următoarea structură:
-
struct landlock_path_beneath_attr {
__u64 allowed_access;
__s32 parent_fd;
} __attribute__((packed));
- allowed_access conține o mască de biți a acțiunilor sistemului de fișiere permise pentru această ierarhie de fișiere (a se vedea Acțiuni ale sistemului de fișiere în landlock(7)EN).
- parent_fd este un descriptor de fișier deschis, de preferință cu indicatorul O_PATH, care identifică directorul părinte al ierarhiei de fișiere sau doar un fișier.
fanioane trebuie să fie 0.
În caz de succes, landlock_add_rule() returnează 0.
landlock_add_rule() poate eșua din următoarele motive:
- EOPNOTSUPP
- Landlock este acceptat de nucleu, dar este dezactivat la pornire.
- EINVAL
- fanioane nu este 0, sau accesările regulilor sunt incoerente (de exemplu, rule_attr->allowed_access nu este un subset al accesărilor gestionate de setul de reguli).
- ENOMSG
- Accese goale (adică, rule_attr->allowed_access este 0).
- EBADF
- ruleset_fd nu este un descriptor de fișier pentru firul curent sau un membru al rule_attr nu este un descriptor de fișier, așa cum era de așteptat.
- EBADFD
- ruleset_fd nu este un descriptor de fișier pentru firul curent sau un membru al rule_attr nu este un descriptor de fișier, așa cum era de așteptat.ruleset_fd nu este un descriptor de fișier de set de reguli sau un membru al rule_attr nu este tipul de descriptor de fișier așteptat.
- EPERM
- ruleset_fd nu are acces de scriere la setul de reguli de bază.
- EFAULT
- rule_attr nu a fost o adresă validă.
Landlock a fost adăugat în Linux 5.13.
Acest apel de sistem este specific pentru Linux.
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 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.