Scroll to navigation

USER-KEYRING(7) Руководство программиста Linux USER-KEYRING(7)

ИМЯ

user-keyring - пользовательская связка ключей

ОПИСАНИЕ

Пользовательская связка ключей используется для хранения ключей пользователя. Для каждого UID у ядра есть своя связка ключей пользователя, которая доступна из всех процессов с этим UID. Пользовательская связка ключей имеет имя (описание) в виде _uid.<UID>, где <UID> идентификатор пользователя соответствующего пользователя.

Пользовательская связка ключей связана с записью, которая обслуживается ядром для UID. Она начинает существовать при попытке первого обращения к пользовательской связке ключей, к user-session-keyring(7) или к session-keyring(7). Связка ключей существует привязанной всё время пока выполняются процессы с этим реальным UID или остаются открытыми файлы, открытые этими процессами (связка ключей также может быть привязана бесконечно, если её прицепить к другой связке ключей).

Обычно, пользовательская связка ключей создаётся pam_keyinit(8) при входе пользователя в систему.

По умолчанию в пользовательской связке ключей вызов request_key(2) не производит поиск. Когда pam_keyinit(8) создаёт связку ключей сеанса, он добавляет в неё пользовательскую связку ключей, и таким образом поиск выполняется в пользовательской связке ключей, если происходит поиск в связке ключей сеанса.

Существует специальный серийный номер, KEY_SPEC_USER_KEYRING, который можно указывать вместо реального серийного номера пользовательской связки ключей вызывающего процесса.

В утилите keyctl(1) подобным образом можно использовать «@u» вместо числового идентификатора ключа.

Пользовательские связки ключей не зависят от clone(2), fork(2), vfork(2), execve(2) и _exit(2) за исключением того, что эта связка ключей уничтожается когда запись UID уничтожается при завершении последнего привязанного процесса.

Если нужно, чтобы ключ, связанный с пользователем, существовал и после сбора мусорщиком записи UID — например, для сценария cron(8) — то должна быть использована persistent-keyring(7).

Если связка ключей пользователя не существует на момент доступа, то она создаётся.

СМ. ТАКЖЕ

keyctl(1), keyctl(3), keyrings(7), persistent-keyring(7), process-keyring(7), session-keyring(7), thread-keyring(7), user-session-keyring(7), pam_keyinit(8)

ЗАМЕЧАНИЯ

Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy Ovchinnikov <dmitriyxt5@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

13 августа 2020 г. Linux