.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH persistent\-keyring 7 "17 мая 2025 г." "Справочные страницы Linux 6.15" .SH НАИМЕНОВАНИЕ persistent\-keyring \- пользовательская постоянная связка ключей .SH ОПИСАНИЕ Постоянная связка ключей — это связка, используемая для привязки от имени пользователя. Для каждого UID ядро создаёт отдельную постоянную связку ключей, которая используется всеми нитями, принадлежащими этому UID. Постоянная связка ключей имеет имя (описание) в виде \fI_persistent.\fP, \fI\fP — ID пользователя соответствующего пользователя. .P .\" FIXME The meaning of the preceding sentence isn't clear. What is meant? Прямой доступ к постоянной связке ключей невозможен, даже процессам с подходящим UID. Вместо этого сначала она должна быть прицеплена к одной из связок ключей процесса, до этого связка ключей может получить доступ к постоянной связке ключей согласно правам своего владельца. Эта связь создаётся с помощью функции \fBkeyctl_get_persistent\fP(3). .P Если постоянная связка ключей не существует на момент вызова операции \fBkeyctl_get_persistent\fP(3), то она автоматически создаётся. .P Each time the \fBkeyctl_get_persistent\fP(3) operation is performed, the persistent keyring's expiration timer is reset to the value in: .P .in +4n .EX /proc/sys/kernel/keys/persistent_keyring_expiry .EE .in .P Should the timeout be reached, the persistent keyring will be removed and everything it pins can then be garbage collected. The keyring will then be re\-created on a subsequent call to \fBkeyctl_get_persistent\fP(3). .P В постоянной связке ключей напрямую невозможно искать с помощью \fBrequest_key\fP(2); в ней можно искать только, если она прицеплена к одной из связок ключей, по которой выполняется \fBrequest_key\fP(2). .P Постоянная связка ключей не зависит от \fBclone\fP(2), \fBfork\fP(2), \fBvfork\fP(2), \fBexecve\fP(2) и \fB_exit\fP(2). Она существует до истечения срока действия таймера, после чего удаляется сборщиком мусора. Это позволяет связке ключей хранить ключи дольше жизни ядерной записи соответствующего UID (удаление которой приводит к уничтожению \fBuser\-keyring\fP(7) и \fBuser\-session\-keyring\fP(7)). Таким образом, постоянную связку ключей можно использовать для хранения токенов аутентификации для процессов, которые выполняются без взаимодействия с пользователем, например программы, выполняемые \fBcron\fP(8). .P .\" Постоянная связка ключей используется для хранения объектов, для UID, которые сами имеют ограниченный срок жизни (например, токены kerberos). Если такие токены больше не используются (т. е., связка ключей недоступна), то срок действия постоянной связки ключей позволяет автоматически удалять соответствующие ей объекты. .SS "Специальные операции" Библиотека \fIkeyutils\fP для работы с постоянными связками ключей предоставляет функцию \fBkeyctl_get_persistent\fP(3) (эта функция является интерфейсом к операции \fBkeyctl\fP(2) \fBKEYCTL_GET_PERSISTENT\fP). Данная операция позволяет вызывающей нити получить постоянную связку ключей, соответствующую её UID или, если нить имеет мандат \fBCAP_SETUID\fP, то постоянная связка ключей соответствует какому\-то другому UID в этом же пространстве имён пользователя. .SH ПРИМЕЧАНИЯ Each user namespace owns a keyring called \fI.persistent_register\fP that contains links to all of the persistent keys in that namespace. (The \&\fI.persistent_register\fP keyring can be seen when reading the contents of the \fI/proc/keys\fP file for the UID 0 in the namespace.) The \fBkeyctl_get_persistent\fP(3) operation looks for a key with a name of the form \fI_persistent.\fPUID in that keyring, creates the key if it does not exist, and links it into the keyring. .SH "СМОТРИТЕ ТАКЖЕ" .ad l .nh \fBkeyctl\fP(1), \fBkeyctl\fP(3), \fBkeyctl_get_persistent\fP(3), \fBkeyrings\fP(7), \fBprocess\-keyring\fP(7), \fBsession\-keyring\fP(7), \fBthread\-keyring\fP(7), \fBuser\-keyring\fP(7), \fBuser\-session\-keyring\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Alexey, Azamat Hackimov , kogamatranslator49 , Darima Kogan , Max Is , Yuri Kozlov , Иван Павлов и Kirill Rekhov . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .