пользовательская сеансовая связка ключей(7)

НАИМЕНОВАНИЕ
user-session-keyring - пользовательская сеансовая связка ключей по умолчанию

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

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

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

В пользовательской сеансовой связке ключей выполняется поиск request_key(2), если не существует реальная связка ключей сеанса и не выполняется в противном случае.

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

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

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

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

Вместо того чтобы полагаться на пользовательское кольцо ключей, настоятельно рекомендуется—особенно если процесс выполняется от имени root—, чтобы явно устанавливалось session-keyring(7), например, с помощью pam_keyinit(8).

ПРИМЕЧАНИЯ
Поддержка пользовательской сеансовой связки ключей была добавлена для ситуаций, когда процесс не имеет сеансовой связки ключей, возможно из-за того, что был создан способом, не включающим PAM (например, служба, запущенная inetd(8)). В этом случае, пользовательская сеансовая связка ключей подставляется вместо session-keyring(7).

СМОТРИТЕ ТАКЖЕ
keyctl(1), keyctl(3), keyrings(7), persistent-keyring(7), process-keyring(7), session-keyring(7), thread-keyring(7), user-keyring(7)

ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) 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> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (<debian-l10n-russian@lists.debian.org>).