zion - capget
Nom
capget, capset - Configurer les capacités d'un processus.
Résumé
#undef _POSIX_SOURCE #include <sys/capability.h> int capget(cap_user_header_t entête , cap_user_data_t données ); int capset(cap_user_header_t entête , const cap_user_data_t données );
Description
Depuis Linux 2.2, la toute puissance du Super-Utilisateur (root) a été scindée en plusieurs ensembles distincts. Chaque processus dispose d'un ensemble de capacités effectives permettant d'identifier ses droits de réaliser certaines actions. Chaque processus a aussi un ensemble de capacités héritables, qu'il peut transmettre au travers d'un execve(2) et un ensemble de capacités éventuelles qu'il peut rendre effectives ou héritables.
Ces deux fonctions constituent l'interface brute du noyau pour configurer ou lire les capacités d'un processus. Non seulement ces appels-système sont spécifiques Linux, mais l'API du noyau est susceptible de changer. L'utilisation de ces fonctions (en particulier le format du type cap_user_*_t ) risque de varier lors de nouvelles mises à jour du noyau. L'interface portable est constituée des fonctions cap_set_proc (3) et cap_get_proc (3); si possible utilisez plutôt ces routines dans vos applications. Si vous désirez vraiment utiliser les extension Linux, essayez d'employer plutôt les interfaces plus simples capsetp (3) et capgetp (3).
Valeur renvoyée
Si elles réussissent, ces routines renvoient 0. Sinon elles renvoient -1 et configurent errno avec le code d'erreur approprié
Erreurs
EINVAL
Un argument est invalide |
EPERM
On a essayé d'ajouter une capacité dans l'ensemble éventuel, ou de placer une capacité dans l'ensemble effectif ou héritable qui ne se trouvait pas dans l'ensemble éventuel. |
Notes
L'interface portable pour les fonctions de configuration et de lecture des permissions est fournie par la bibliothèque libcap disponible à : ftp://linux.kernel.org/pub/linux/libs/security/linux-privs
Voir aussi
capabilities (7)
Traduction
Christophe Blaess, 1996-2003.
Poster un commentaire