priv_set, priv_ineffect - change privilege sets and check whether privileges are set
#include <priv.h> int priv_set(priv_op_t op, priv_ptype_t which...);
boolean_t priv_ineffect(const char *priv);
The priv_set() function is a convenient wrapper for the setppriv(2) function. It takes three or more arguments. The operation argument, op, can be one of PRIV_OFF, PRIV_ON or PRIV_SET. The which argument is the name of the privilege set to change. The third argument is a list of zero or more privilege names terminated with a null pointer. If which is the special pseudo set PRIV_ALLSETS, the operation should be applied to all privilege sets.
The specified privileges are converted to a binary privilege set and setppriv() is called with the same op and which arguments. When called with PRIV_ALLSETS as the value for the which argument, setppriv() is called for each set in turn, aborting on the first failed call.
The priv_ineffect() function is a conventient wrapper for the getppriv(2) function. The priv argument specifies the name of the privilege for which this function checks its presence in the effective set.
Upon successful completion, priv_set() return 0. Otherwise, -1 is returned and errno is set to indicate the error.
If priv is a valid privilege that is a member of the effective set, priv_ineffect() returns B_TRUE. Otherwise, it returns B_FALSE and sets errno to incicate the error.
The priv_set() function will fail if:
EINVAL
ENOMEM
EPERM
The priv_ineffect() function will fail if:
EINVAL
ENOMEM
See attributes(5) for descriptions of the following attributes:
|
setppriv(2), priv_str_to_set(3C), attributes(5), privileges(5)
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |