特権マクロは、単一特権と特権セットで動作します。特権マクロの詳細は、priv_macros(5) のマニュアルページで説明しています。マクロは、ファイルやプロセスに関連付けられた特権セットを直接変更しませんが、priv_set_t 型の変数を操作します。
特権マクロ |
内容 |
PRIV_ASSERT(priv_set, priv_id) |
特権 (priv_id) をセット (priv_set) に入れる。 |
PRIV_ISASSERT(priv_set, priv_id) |
特権 (priv_id) がセット (priv_set) で表明されている場合、0 以外を返す。 |
PRIV_EQUAL(priv_set_a, Priv_set_b) |
両方のセットが同じである場合、0 以外を返す。 |
PRIV_EMPTY(priv_set) |
セットを空に初期化する。 |
PRIV_FILL(priv_set) |
セットにすべての特権を入れる。 |
PRIV_ISEMPTY(priv_set) |
セットが空の場合 0 以外を返し、空でない場合 0 を返す。 |
PRIV_ISFULL(priv_set) |
特権がシステムに定義されたすべての特権を含む場合、0 以外を返す。それ以外の場合、0 を返す。 |
PRIV_CLEAR(priv_set, priv_id) |
セット (priv_set) から特権 (priv_id) を削除する。 |
PRIV_INTERSECT(priv_set_a, priv_set_b) |
set_a と set_b の論理積を set_b に格納する。 |
PRIV_INVERSE(priv_set) |
priv_set の反転を priv_set に格納する。 |
PRIV_UNION(priv_set_a, priv_set_b) |
set_a と set_b の論理和を set_b に格納する。 |
PRIV_XOR(priv_set_a, priv_set_b,) |
set_a と set_b の排他的論理和を set_b に格納する。 |
PRIV_ISSUBSET(priv_set_a, priv_set_b) |
priv_set_a に表明されたすべての特権が priv_set_b でも表明されている場合に、0 以外を返す。それ以外の場合、0 を返す。 |
PRIV_TEST(priv_id, errno) |
priv_id が有効セット内に存在するかをテストし、true の場合 errno を 1 に設定し、false の場合 0 に設定する。 |