subrutina getpcred

Finalidad

Lee las credenciales de proceso actuales.

Biblioteca

Biblioteca de seguridad (libc.a)

Sintaxis

#include <usersec.h>
char **getpcred ( Which)
int Which;

Descripción

La subrutina getpcred lee las credenciales de seguridad de proceso especificadas y devuelve un puntero a una matriz terminada en NULL de punteros en la memoria asignada. Cada puntero de la matriz apunta a una serie que contiene un par atributo/valor en la memoria asignada. Es responsabilidad del llamante liberar cada cadena individual, así como la matriz de punteros.

Parámetros

Elemento Descripción
Qué Especifica qué credenciales se leen. Este parámetro es una máscara de bits y puede contener uno o más de los valores siguientes, tal como se define en el archivo usersec.h :
CRED_RUID
Nombre de usuario real
CRED_LUID
Nombre de usuario de inicio de sesión
IDRG_CRED
Nombre de grupo real
CREOS_GRUPOS
ID de grupo complementario
AUDITOR_CREDENCIALES
Clase de auditoría del proceso actual
Nota: Un proceso debe tener autorización de usuario root para recuperar esta credencial. De lo contrario, la subrutina getpcred devuelve un puntero nulo y la variable global errno se establece en EPERM.
CRED_RLIMITS
Límites de recursos BSD
Nota: Utilice la subrutina getrlimit (getrlimit, getrlimit64, setrlimit, setrlimit64o vlimit Subroutine) para controlar el consumo de recursos.
CRED_UMASK
La umask.
Si el parámetro Qué es nulo, se devuelven todas las credenciales.

Valores de retorno

Cuando se ejecuta correctamente, la subrutina getpcred devuelve un puntero a una matriz terminada en NULL de punteros de serie que contienen los valores solicitados. Si la subrutina getpcred no es satisfactoria, se devuelve un puntero NULL y la variable global errno se establece para indicar el error.

Códigos de error

La subrutina getpcred falla si se cumple alguna de las siguientes condiciones:

Elemento Descripción
EINVAL El parámetro Qué contiene solicitudes de credenciales no válidas.
EPERM El proceso no tiene la autorización adecuada para recuperar las credenciales solicitadas.

También se pueden establecer otros errores mediante cualquier subrutina invocada por la subrutina getpcred .