Provided by:
manpages-de-dev_0.5-4.1ubuntu1_all 
BEZEICHNUNG
capget, capset - hole/setze Prozessrechte
ÜBERSICHT
#undef _POSIX_SOURCE
#include <sys/capability.h>
int capget(cap_user_header_t header, cap_user_data_t data);
int capset(cap_user_header_t header, const cap_user_data_t data);
BESCHREIBUNG
Beginnend mit Linux Kernel 2.2 sind die Befugnisse des
Systemadministrators (root) aufgeteilt in einzelne Rechte. Jeder
Prozess besitzt eine Menge aktueller Rechte, die bestimmen, welche
Rechte er im Augenblick wahrnehmen darf. Jeder Prozess besitzt darüber
hinaus einen Satz vererbbarer Rechte, die via execve(2) weitergereicht
werden dürfen, sowie eine Liste erlaubter Rechte, die er einsetzen oder
vererben kann.
capget() und capset() bilden die rohe Schnittstelle zum Kernel, um
Rechte abzufragen und zu setzen. Diese Systemaufrufe sind nicht nur
Linux-spezifisch, sondern auch die Form der Schnittstelle kann sich mit
jeder Revision des Kernels ändern. Das gilt für die Anwendung der
beiden Funktionen und ganz besonders für das Format des Typs
cap_user_*_t.
Die portablen Schnittstellen heißen cap_set_proc(3) und
cap_get_proc(3); wenn möglich sollten diese Schnittstellen in
Anwendungsprogrammen benutzt werden. Um auch Zugriff auf Linux-
Erweiterungen zu bekommen, stehen die Aufrufe capsetp(3) und capgetp(3)
zur Verfügung.
RÜCKGABEWERT
Bei Erfolg wird null zurückgeliefert. Im Fehlerfall wird -1 übergeben
und errno entsprechend gesetzt.
FEHLER
EINVAL Ein oder mehrere übergebene Argumente waren ungültig.
EPERM Es wurde versucht, neue Rechte zur Menge der erlaubten Rechte
(permitted) hinzuzufügen, oder ein nicht erlaubtes Recht in die
Liste aktueller (effective) oder vererbbarer (inheritable)
Rechte aufzunehmen.
WEITERE INFORMATIONEN
Die portable Schnittstelle zum Abfragen und Setzen von Prozessrechten
wird durch die Bibliothek libcap zur Verfügung gestellt. Sie ist zu
beziehen über:
ftp://linux.kernel.org/pub/linux/libs/security/linux-privs
SIEHE AUCH