Sous-routine putdevattr
Objectif
Modifie les informations de sécurité du périphérique dans la base de données des périphériques privilégiés.
Bibliothèque
Bibliothèque de sécurité (libc.a)
Syntaxe
Descriptif
La sous-routine putdevattr écrit un attribut spécifié dans la base de données des unités. Si la base de données n'est pas ouverte, cette sous-routine effectue une ouverture implicite pour la lecture et l'écriture. Les données modifiées par les sous-routines putdevattr et putdevattrs doivent être explicitement validées en appelant la sous-routine putdevattr avec un paramètre Type spécifiant SEC_COMMIT. Jusqu'à ce que toutes les données soient validées, seules les sous-routines du processus renvoient des données écrites.
Vous devez d'abord créer de nouvelles entrées dans les bases de données d'unités en appelant la sous-routine putdevattr avec le type SEC_NEW .
Les modifications apportées à la base de données des périphériques privilégiés n'ont pas d'impact sur les considérations de sécurité tant que la base de données entière n'est pas envoyée aux tables de sécurité du noyau via le périphérique setkst ou tant que le système n'est pas réamorcé.
Paramètres
| Article | Descriptif |
|---|---|
| Device | Nom de l'unité. La valeur doit être le chemin d'accès complet à l'unité sur le système. Ce paramètre doit être spécifié sauf si le paramètre Type est SEC_COMMIT. |
| Attribute | Indique que l'attribut est écrit. Les attributs possibles suivants sont définis dans le fichier usersec.h :
|
| Value | Indique une mémoire tampon, un pointeur vers une mémoire tampon ou un pointeur vers un pointeur en fonction des paramètres Attribute et Type . Pour plus de détails, voir le paramètre Type . |
| Type | Indique le type d'attribut attendu. Les types valides sont définis dans le fichier usersec.h et incluent
|
Security
- Fichiers accédés
Tableau 2. Fichier accédé Fichier aff /etc/security/privdevs rw
Valeurs renvoyées
Si l'opération aboutit, la sous-routine putdevattr renvoie zéro. Sinon, la valeur -1 est renvoyée et la valeur globale errno est définie pour indiquer l'erreur.
Codes d'erreur
Si la sous-routine putdevattr échoue, l'une des valeurs errno suivantes peut être définie:
| Article | Descriptif |
|---|---|
EINVAL |
Le paramètre Device est NULL et le paramètre Type n'est pas SEC_COMMIT. |
EINVAL |
Le paramètre Device est default ou ALL. |
EINVAL |
Le paramètre Attribute ne contient pas l'un des attributs définis ou est NULL. |
EINVAL |
Le paramètre Type ne contient pas l'une des valeurs définies. |
EINVAL |
Le paramètre Value ne pointe pas vers une mémoire tampon valide ou vers des données valides pour ce type d'attribut. |
ENOENT |
L'unité spécifiée par le paramètre Device n'existe pas. |
EPERM |
Or, cette opération n'est pas permise. |