Man page - add_key(2)

Packages contains this manual

Available languages:

en fr ja ru

Manual

ADD_KEY

名 前
書 式
説 明
鍵 タ イ プ
返 り 値
エ ラ ー
LINKING
関 連 項 目
こ の 文 書 に つ い て

名 前

add_key - カ ー ネ ル の 鍵 管 理 機 能 に 鍵 を 追 加 す る

書 式

#include <keyutils.h>

key_serial_t add_key(const char * type , const char * description ,
const void *
payload , size_t plen ,
key_serial_t
keyring );

説 明

add_key () は 、 指 定 し た type description を 持 つ 鍵 の 作 成 、 更 新 を 行 う よ う に カ ー ネ ル に 指 示 し 、 長 さ plen payload で 鍵 を 生 成 し 、 指 定 さ れ た keyring に そ の 鍵 を 追 加 し 、 鍵 リ ン グ の シ リ ア ル 番 号 を 返 す 。

鍵 タ イ プ に よ っ て は 、 フ ォ ー マ ッ ト が 違 っ て い た り 、 そ の 他 に も 無 効 な も の が あ る と 、 指 定 し た デ ー タ が 拒 否 さ れ る 場 合 も あ る 。

対 象 の keyring に 指 定 さ れ た type description に 合 致 す る 鍵 が す で に 含 ま れ る 場 合 、 鍵 タ イ プ が サ ポ ー ト し て い れ ば 、 新 し い 鍵 が 作 成 さ れ る の で は な く 、 そ の 鍵 が 更 新 さ れ る 。 鍵 タ イ プ が サ ポ ー ト し て い な い 場 合 、 新 し い 鍵 が 作 成 さ れ 、 鍵 リ ン グ の 現 在 の 鍵 の リ ン ク は こ の 鍵 で 置 き 換 え ら れ る 。

対 象 の keyring の シ リ ア ル 番 号 に は 、 呼 び 出 し 元 が 書 き 込 み 許 可 を 持 つ 有 効 な 鍵 リ ン グ の シ リ ア ル 番 号 か 、 以 下 の 特 別 な 鍵 リ ン グ ID を 指 定 す る 。
KEY_SPEC_THREAD_KEYRING

こ の 値 は 呼 び 出 し 元 ス レ ッ ド 固 有 の 鍵 リ ン グ を 指 定 す る 。

KEY_SPEC_PROCESS_KEYRING

こ の 値 は 呼 び 出 し 元 プ ロ セ ス 固 有 の 鍵 リ ン グ を 指 定 す る 。

KEY_SPEC_SESSION_KEYRING

こ の 値 は 呼 び 出 し 元 セ ッ シ ョ ン 固 有 の 鍵 リ ン グ を 指 定 す る 。

KEY_SPEC_USER_KEYRING

こ の 値 は 呼 び 出 し 元 の UID 固 有 の 鍵 リ ン グ を 指 定 す る 。

KEY_SPEC_USER_SESSION_KEYRING

こ の 値 は 呼 び 出 し 元 の UID の セ ッ シ ョ ン の 鍵 リ ン グ を 指 定 す る 。

鍵 タ イ プ

コ ア の 鍵 管 理 コ ー ド に は 様 々 な 鍵 タ イ プ が あ り 、 こ の 関 数 で こ れ ら を 指 定 す る こ と が で き る 。

“user”

ユ ー ザ ー 定 義 の 鍵 タ イ プ の 鍵 に は 、 任 意 の デ ー タ の blob を 入 れ る こ と が で き 、 description に は 任 意 の 有 効 な 文 字 列 を 指 定 で き る が 、 鍵 が 対 象 と す る サ ー ビ ス を 表 す 文 字 列 と コ ロ ン を プ レ フ ィ ッ ク ス に 指 定 す る の が 推 奨 さ れ る 方 法 で あ る (例 え ば “ afs:mykey ”)。 こ の タ イ プ の 鍵 に は payload に 空 文 字 列 つ ま り NULL を 指 定 す る 。

“keyring”

鍵 リ ン グ は 、 任 意 の タ イ プ の 他 の 鍵 の 列 へ の リ ン ク を 保 持 で き る 特 別 な 鍵 タ イ プ で あ る 。 こ の イ ン タ ー フ ェ ー ス を 使 っ て 鍵 リ ン グ を 作 成 す る 場 合 、 payload に は NULL を 、 plen に は 0 を 指 定 し な け れ ば な ら な い 。

返 り 値

成 功 す る と add_key () は 、 作 成 ま た は 更 新 し た 鍵 の シ リ ア ル 番 号 を 返 す 。 エ ラ ー の 場 合 、 値 -1 が 返 さ れ errno に エ ラ ー を 示 す 値 が 設 定 さ れ る 。

エ ラ ー

ENOKEY

鍵 リ ン グ が 存 在 し な い 。

EKEYEXPIRED

鍵 リ ン グ が 期 限 切 れ で あ る 。

EKEYREVOKED

鍵 リ ン グ が 廃 止 さ れ て い る 。

EINVAL

ペ イ ロ ー ド デ ー タ が 無 効 で あ る 。

ENOMEM

鍵 を 作 成 す る の に 十 分 な メ モ リ ー が な い 。

EDQUOT

こ の 鍵 を 作 成 す る か 、 鍵 を 鍵 リ ン グ に 追 加 す る と 、 こ の ユ ー ザ ー の 鍵 リ ン グ の ク ォ ー タ を 超 過 し て し ま う 。

EACCES

そ の ユ ー ザ ー は 指 定 さ れ た 鍵 リ ン グ を 変 更 で き な い 。

LINKING

こ れ は Linux の シ ス テ ム コ ー ル だ が 、 libc に は 存 在 せ ず 、 代 わ り に libkeyutils に 存 在 す る 。 リ ン ク す る 際 に は 、 リ ン カ ー に -lkeyutils を 指 定 す る 必 要 が あ る 。

関 連 項 目

keyctl (1), keyctl (2), request_key (2)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。