Provided by: manpages-fr-dev_3.57d1p1-1_all bug

NOM

       add_key - Ajouter une clé au gestionnaire des clés du noyau

SYNOPSIS

       #include <keyutils.h>

       key_serial_t add_key(const char *type, const char *description,
                            const void *payload, size_t plen,
                            key_serial_t keyring);

DESCRIPTION

       add_key()   demande  au  noyau  de  créer ou de mettre à jour une clé ayant un type et une
       description donnés, de l'instancier avec une charge utile (payload) de longueur  plen,  de
       l'attacher au trousseau (keyring) spécifié, et de renvoyer son numéro de série.

       Le  type  de  clé  peut  rejeter  les  données s'il est dans un mauvais format ou s'il est
       invalide de toute autre façon.

       Si le trousseau (keyring) contient déjà une clé avec ce type et cette description,  alors,
       si  le  type de la clé le permet, cette clé sera mise à jour au lieu de créer une nouvelle
       clé. Dans le cas contraire, une nouvelle clé sera créée, et le trousseau sera mis  à  jour
       pour remplacer le lien vers l'ancienne clé par un lien vers la nouvelle.

       Le  numéro  de  série  du  trousseau  de  destination  peut être celui d'un trousseau déjà
       existant, ou peut être l'identifiant d'un trousseau spécial :

       KEY_SPEC_THREAD_KEYRING
              Pour indiquer le trousseau spécifique au processus léger (thread) de l'appelant.

       KEY_SPEC_PROCESS_KEYRING
              Pour indiquer le trousseau spécifique au processus de l'appelant.

       KEY_SPEC_SESSION_KEYRING
              Pour indiquer le trousseau spécifique à la session de l'appelant.

       KEY_SPEC_USER_KEYRING
              Pour indiquer le trousseau spécifique à l'UID de l'appelant.

       KEY_SPEC_USER_SESSION_KEYRING
              Pour indiquer le trousseau spécifique à la session de l'UID de l'appelant.

TYPES DE CLÉS

       Un certain nombre de types de clés sont disponibles dans le code de base  du  gestionnaire
       des clés, et ils peuvent être utilisés dans cette fonction :

       user   Les  clés  de type user peuvent contenir des données quelconques, et la description
              peut être n'importe quelle chaîne valide, bien qu'il soit préférable de préfixer la
              description  avec  une  chaîne  représentant  le  service  pour  lequel  la clé est
              utilisée, suivi du caractère deux-points (par  exemple  « afs:ma-cle »).  Pour  des
              clés de ce type, l'argument payload peut être vide ou NULL.

       keyring
              Les  trousseaux  (keyring)  sont des types de clé spéciaux qui peuvent contenir des
              liens vers des séquences d'autres  clés  de  tout  type.  Si  cette  interface  est
              utilisée  pour  créer  un  trousseau, alors l'argument payload doit valoir NULL, et
              plen doit être nul.

VALEUR RENVOYÉE

       En cas de succès, add_key() renvoie le numéro de série de la clé créée ou mise à jour.  En
       cas d'erreur, la valeur -1 est renvoyée et errno contient un code d'erreur approprié.

ERREURS

       ENOKEY Le trousseau n'existe pas.

       EKEYEXPIRED
              Le trousseau a expiré.

       EKEYREVOKED
              Le trousseau a été révoqué.

       EINVAL La charge utile (payload) est invalide.

       ENOMEM Il n'y a pas assez de mémoire pour créer une clé.

       EDQUOT Le quota de clés de cet utilisateur serait dépassé si la clé était créée ou ajoutée
              au trousseau.

       EACCES Le trousseau n'était pas disponible pour pouvoir être modifié par l'utilisateur.

ÉDITION DE LIENS

       Bien qu'il s'agisse d'un appel système Linux, cette fonction n'est pas présente dans libc,
       mais peut être trouvée dans libkeyutils. L'édition des liens doit être être effectuée avec
       l'option -lkeyutils.

VOIR AUSSI

       keyctl(1), keyctl(2), request_key(2)

COLOPHON

       Cette page fait partie de la publication 3.57 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <http://po4a.alioth.debian.org/>  par l'équipe de traduction francophone au sein du projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Denis Barbier (2010).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>   ou   par   un  rapport  de  bogue  sur  le  paquet
       manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document  en  utilisant  la
       commande « man -L C <section> <page_de_man> ».