SESSION-KEYRING(7)

ИМЯ
session-keyring - общая сеансовая связка ключей процесса

ОПИСАНИЕ
Связка ключей сеанса — это связка ключей для привязки ключей от имени процесса. Обычно, она создаётся pam_keyinit(8) при входе пользователя в систему и добавляется связь, на которую указывает user-keyring(7). Также, PAM может отозвать связку ключей сеанса при выходе пользователя (обычно, PAM так и делает). Связка ключей сеанса имеет имя (описание) _ses.

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

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

Связка ключей сеанса процесса наследуется при вызове clone(2), fork(2) и vfork(2). Связка ключей сеанса сохраняется при вызове execve(2), даже когда исполняемый файл содержит биты set-user-ID и set-group-ID или имеет другие мандаты. Связка ключей сеанса уничтожается когда завершается последний ссылающийся на неё процесс.

Если процесс при обращении не имеет связки ключей сеанса, то в одних случаях, в качестве связке ключей сеанса будет присоединена user-session-keyring(7), а в других будет создана новая связка ключей сеанса (подробности смотрите в user-session-keyring(7)).

  Специальные операции
Библиотека keyutils предоставляет следующие операции для работы со связками ключей сеанса:

keyctl_join_session_keyring(3)
    Данная операция позволяет вызывающему изменить связку ключей сеанса, на которую он подписан. Вызывающий может присоединить существующую связку ключей с заданным именем (описанием), создать новую связку ключей с заданным именем или попросить ядро создать новую «анонимную» связку ключей сеанса с именем «_ses» (данная функция является интерфейсом к keyctl(2) с операцией KEYCTL_JOIN_SESSION_KEYRING).

keyctl_session_to_parent(3)
    Данная операция позволяет вызывающему сделать связку ключей сеанса родителя своей собственной. Для успешного выполнения родительский процесс должен иметь такие же атрибуты безопасности и состоять из одной нити (данная операция является интерфейсом к keyctl(2) с операцией KEYCTL_SESSION_TO_PARENT).

Эти операции также доступны через утилиту keyctl(1)

    keyctl session
    keyctl session - [<прог> <арг1> <арг2> …]
    keyctl session <имя> [<прог> <арг1> <арг2> …]

и

    keyctl new_session

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