Scroll to navigation

ADD_KEY(2) п▓я▀п╥п╬п╡я▀ я┐п©я─п╟п╡п╩п╣п╫п╦я▐ п╨п╩я▌я┤п╟п╪п╦ Linux ADD_KEY(2)

п≤п°п╞

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, я│п╨п╬п╫я│я┌я─я┐п╦я─п╬п╡п╟я┌я▄ я█п╨п╥п╣п╪п©п╩я▐я─ я│ п╢п╬п©п╬п╩п╫п╦я┌п╣п╩я▄п╫я▀п╪п╦ п╢п╟п╫п╫я▀п╪п╦ payload п╦ п╢п╩п╦п╫п╬п╧ plen, п©я─п╦я│п╬п╣п╢п╦п╫п╦я┌я▄ п╣пЁп╬ п╨ п╥п╟п╢п╟п╫п╫п╬п╧ я│п╡я▐п╥п╨п╣ п╨п╩я▌я┤п╣п╧ keyring п╦ п╡п╣я─п╫я┐я┌я▄ п╣пЁп╬ я│п╣я─п╦п╧п╫я▀п╧ п╫п╬п╪п╣я─.

п▓ п╥п╟п╡п╦я│п╦п╪п╬я│я┌п╦ п╬я┌ я┌п╦п©п╟ п╨п╩я▌я┤п╟ п╢п╟п╫п╫я▀п╣ п╪п╬пЁя┐я┌ п╠я▀я┌я▄ п╬я┌п╨п╩п╬п╫п╣п╫я▀, п╣я│п╩п╦ п╬п╫п╦ п©я─п╣п╢я│я┌п╟п╡п╩п╣п╫я▀ п╡ п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬п╪ я└п╬я─п╪п╟я┌п╣ п╦п╩п╦ п╡п╬п╥п╫п╦п╨п╩п╟ п╢я─я┐пЁп╟я▐ п╬я┬п╦п╠п╨п╟.

п∙я│п╩п╦ п╡ я┐п╨п╟п╥я▀п╡п╟п╣п╪п╬п╧ я│п╡я▐п╥п╨п╣ п╨п╩я▌я┤п╣п╧ keyring я┐п╤п╣ п╣я│я┌я▄ п╨п╩я▌я┤ я│ я┌п╟п╨п╦п╪ п╤п╣ type п╦ description я┌п╬, п╣я│п╩п╦ я┌п╦п© п╨п╩я▌я┤п╟ я█я┌п╬ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌, п╨п╩я▌я┤ п╠я┐п╢п╣я┌ п╬п╠п╫п╬п╡п╩я▒п╫, п╟ п╫п╣ я│п╬п╥п╢п╟п╫ п╥п╟п╫п╬п╡п╬; п╣я│п╩п╦ п╫п╣я┌, я┌п╬ п╠я┐п╢п╣я┌ я│п╬п╥п╢п╟п╫ п╫п╬п╡я▀п╧ п╨п╩я▌я┤ п╦ п╬п╫ п╡я▀я┌п╣я│п╫п╦я┌ я│я│я▀п╩п╨я┐ п╫п╟ я│я┐я┴п╣я│я┌п╡я┐я▌я┴п╦п╧ п╨п╩я▌я┤ п╦п╥ я│п╡я▐п╥п╨п╦.

п║п╡я▐п╥п╨п╟ п╨п╩я▌я┤п╣п╧ keyring п╪п╬п╤п╣я┌ п╥п╟п╢п╟п╡п╟я┌я▄я│я▐ я│п╣я─п╦п╧п╫я▀п╪ п╫п╬п╪п╣я─п╬п╪ п╢п╣п╧я│я┌п╡я┐я▌я┴п╣п╧ я│п╡я▐п╥п╨п╦ п╨п╩я▌я┤п╣п╧, п╢п╩я▐ п╨п╬я┌п╬я─п╬п╧ я┐ п╡я▀п╥я▀п╡п╟я▌я┴п╣пЁп╬ п©я─п╬я├п╣я│я│п╟ п╣я│я┌я▄ п©я─п╟п╡п╟ п╫п╟ п╥п╟п©п╦я│я▄, п╦п╩п╦ я│п©п╣я├п╦п╟п╩я▄п╫я▀п╪ ID я│п╡я▐п╥п╨п╦ п╨п╩я▌я┤п╣п╧:

п≈п╟п╢п╟я▒я┌ я│п╡я▐п╥п╨я┐ п╨п╩я▌я┤п╣п╧ п╫п╦я┌п╦ п╡я▀п╥я▀п╡п╟я▌я┴п╣пЁп╬ п©я─п╬я├п╣я│я│п╟.
п≈п╟п╢п╟я▒я┌ я│п╡я▐п╥п╨я┐ п╨п╩я▌я┤п╣п╧ п©я─п╬я├п╣я│я│п╟.
п≈п╟п╢п╟я▒я┌ я│п╡я▐п╥п╨я┐ п╨п╩я▌я┤п╣п╧ я│п╣п╟п╫я│п╟ п╡я▀п╥я▀п╡п╟я▌я┴п╣пЁп╬ п©я─п╬я├п╣я│я│п╟.
п≈п╟п╢п╟я▒я┌ я│п╡я▐п╥п╨я┐ п╨п╩я▌я┤п╣п╧ п©п╬ UID п╡я▀п╥я▀п╡п╟я▌я┴п╣пЁп╬ п©я─п╬я├п╣я│я│п╟.
п≈п╟п╢п╟я▒я┌ я│п╡я▐п╥п╨я┐ п╨п╩я▌я┤п╣п╧ п©п╬ UID я│п╣п╟п╫я│п╟ п╡я▀п╥я▀п╡п╟я▌я┴п╣пЁп╬ п©я─п╬я├п╣я│я│п╟.

п╒п≤п÷п╚ п п⌡п╝п╖п∙п≥

п▓ я▐п╢я─п╣ п╨п╬п╢п╟ я┐п©я─п╟п╡п╩п╣п╫п╦я▐ п╨п╩я▌я┤п╟п╪п╦ п╣я│я┌я▄ п╫п╣я│п╨п╬п╩я▄п╨п╬ я┌п╦п©п╬п╡; п╬п╫п╦ п╪п╬пЁя┐я┌ я┐п╨п╟п╥я▀п╡п╟я┌я▄я│я▐ п╡ я█я┌п╬п╧ я└я┐п╫п╨я├п╦п╦:

п п╩я▌я┤п╦ п╬п©я─п╣п╢п╣п╩я▒п╫п╫я▀я┘ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╪ я┌п╦п©п╬п╡ п╪п╬пЁя┐я┌ я│п╬п╢п╣я─п╤п╟я┌я▄ п╢п╡п╬п╦я┤п╫я▀п╧ п╫п╟п╠п╬я─ п©я─п╬п╦п╥п╡п╬п╩я▄п╫я▀я┘ п╢п╟п╫п╫я▀я┘, п╟ п╡ description п╪п╬п╤п╫п╬ я┐п╨п╟п╥я▀п╡п╟я┌я▄ п╩я▌п╠я┐я▌ п©я─п╬п╦п╥п╡п╬п╩я▄п╫я┐я▌ я│я┌я─п╬п╨я┐, я┘п╬я┌я▐ п©я─п╣п╢п©п╬я┤я┌п╦я┌п╣п╩я▄п╫п╣п╣, я┤я┌п╬п╠я▀ п╬п©п╦я│п╟п╫п╦п╣ п╫п╟я┤п╦п╫п╟п╩п╬я│я▄ я│п╬ я│я┌я─п╬п╨п╦, п©я─п╣п╢я│я┌п╟п╡п╩я▐я▌я┴п╣п╧ я│п╩я┐п╤п╠я┐, п╢п╩я▐ п╨п╬я┌п╬я─п╬п╧ п©я─п╣п╢п╫п╟п╥п╫п╟я┤п╣п╫ п╨п╩я▌я┤ п╦ п╢п╡п╬п╣я┌п╬я┤п╦п╣ (п╫п╟п©я─п╦п╪п╣я─, afs:mykey). п■п╩я▐ п╨п╩я▌я┤п╣п╧ я█я┌п╬пЁп╬ я┌п╦п©п╟ п╥п╫п╟я┤п╣п╫п╦п╣ payload п╪п╬п╤п╣я┌ п╠я▀я┌я▄ п©я┐я│я┌я▀п╪ п╦п╩п╦ NULL.
п║п╡я▐п╥п╨п╦ п╨п╩я▌я┤п╣п╧ — я█я┌п╬ я│п©п╣я├п╦п╟п╩я▄п╫я▀п╧ я┌п╦п© п╨п╩я▌я┤п╣п╧, п╨п╬я┌п╬я─я▀п╧ п╪п╬п╤п╣я┌ я│п╬п╢п╣я─п╤п╟я┌я▄ я│я│я▀п╩п╨п╦ п╫п╟ я├п╣п©п╬я┤п╨п╦ п╢я─я┐пЁп╦я┘ п╨п╩я▌я┤п╣п╧ п╩я▌п╠п╬пЁп╬ я┌п╦п©п╟. п∙я│п╩п╦ п╢п╟п╫п╫я▀п╧ п╦п╫я┌п╣я─я└п╣п╧я│ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╢п╩я▐ я│п╬п╥п╢п╟п╫п╦я▐ я│п╡я▐п╥п╨п╦ п╨п╩я▌я┤п╣п╧, я┌п╬ payload п╢п╬п╩п╤п╣п╫ п╠я▀я┌я▄ NULL, п╟ plen — п╫п╬п╩я▄.

п▓п·п≈п▓п═п░п╘п░п∙п°п·п∙ п≈п²п░п╖п∙п²п≤п∙

п÷я─п╦ я┐я│п©п╣я┬п╫п╬п╪ п╡я▀п©п╬п╩п╫п╣п╫п╦п╦ add_key() п╡п╬п╥п╡я─п╟я┴п╟п╣я┌ я│п╣я─п╦п╧п╫я▀п╧ п╫п╬п╪п╣я─ я│п╬п╥п╢п╟п╫п╫п╬пЁп╬ п╦п╩п╦ п╬п╠п╫п╬п╡п╩я▒п╫п╫п╬пЁп╬ п╨п╩я▌я┤п╟. п▓ я│п╩я┐я┤п╟п╣ п╡п╬п╥п╫п╦п╨п╫п╬п╡п╣п╫п╦я▐ п╬я┬п╦п╠п╨п╦ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ -1, п╟ п╡ errno я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌я│я▐ п╥п╫п╟я┤п╣п╫п╦п╣ я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐я▌я┴п╣п╧ п╬я┬п╦п╠п╨п╦.

п·п╗п≤п▒п п≤

п║п╡я▐п╥п╨п╟ п╨п╩я▌я┤п╣п╧ п╫п╣ я│я┐я┴п╣я│я┌п╡я┐п╣я┌.
п║я─п╬п╨ я│п╩я┐п╤п╠я▀ я│п╡я▐п╥п╨п╦ п╨п╩я▌я┤п╣п╧ п╦я│я┌я▒п╨.
п║п╡я▐п╥п╨п╟ п╨п╩я▌я┤п╣п╧ п╬я┌п╬п╥п╡п╟п╫п╟.
п²п╣п©я─п╟п╡п╦п╩я▄п╫я▀п╣ п╢п╬п©п╬п╩п╫п╦я┌п╣п╩я▄п╫я▀п╣ п╢п╟п╫п╫я▀п╣.
п²п╣п╢п╬я│я┌п╟я┌п╬я┤п╫п╬ п©п╟п╪я▐я┌п╦ п╢п╩я▐ я│п╬п╥п╢п╟п╫п╦я▐ п╨п╩я▌я┤п╟.
п п╡п╬я┌п╟ п╫п╟ п╨п╩я▌я┤п╦ п╢п╩я▐ п╢п╟п╫п╫п╬пЁп╬ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▐ п╠я▀п╩п╟ п╠я▀ п©я─п╣п╡я▀я┬п╣п╫п╟, п╣я│п╩п╦ п╠я▀ я│п╬п╥п╢п╟п╩я│я▐ я█я┌п╬я┌ п╨п╩я▌я┤ п╦п╩п╦ я│я│я▀п╩п╨п╟ п╫п╟ п╫п╣пЁп╬ п╡ я│п╡я▐п╥п╨п╣ п╨п╩я▌я┤п╣п╧.
п≤п╥п╪п╣п╫п╣п╫п╦п╣ я│п╡я▐п╥п╨п╦ п╨п╩я▌я┤п╣п╧ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▌ п╫п╣п╢п╬я│я┌я┐п©п╫п╬.

п п·п°п÷п·п²п·п▓п п░

п╔п╬я┌я▐ я█я┌п╬ п╦ я│п╦я│я┌п╣п╪п╫я▀п╧ п╡я▀п╥п╬п╡ Linux, п╣пЁп╬ п╫п╣я┌ п╡ libc, п╫п╬ п╣пЁп╬ п╪п╬п╤п╫п╬ п╫п╟п╧я┌п╦ п╡ libkeyutils. п÷я─п╦ я│п╠п╬я─п╨п╣ п©я─п╬пЁя─п╟п╪п╪я▀ п╨п╬п╪п©п╬п╫п╬п╡я┴п╦п╨я┐ п╫я┐п╤п╫п╬ я┐п╨п╟п╥п╟я┌я▄ п©п╟я─п╟п╪п╣я┌я─ -lkeyutils.

п║п°п·п╒п═п≤п╒п∙ п╒п░п п√п∙

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

2010-02-25 Linux