USER-SESSION-KEYRING - Linux手册页

时间:2019-08-20 18:02:04  来源:igfitidea点击:

Linux程序员手册 第7部分
更新日期: 2020-08-13

名称

用户会话密钥环-每个用户的默认会话密钥环

说明

用户会话密钥环是用于代表用户锚定密钥的密钥环。内核处理的每个UID都有自己的用户会话密钥环,所有具有该UID的进程都共享该密钥环。用户会话密钥环的名称(描述)形式为_uid_ses。其中是相应用户的用户ID。

用户会话密钥环与内核为UID维护的记录相关联。它在首次尝试访问用户会话密钥环,用户密钥环(7)或会话密钥环(7)时就存在。只要存在使用该实际UID运行的进程或由那些进程打开的文件保持打开状态,密钥环便始终存在。 (也可以通过将其链接到另一个密钥环来无限期地固定该密钥环。)

用户会话密钥环是在线程请求时或在线程请求其会话密钥(7)且该密钥环不存在时按需创建的。在后一种情况下,将创建用户会话密钥环,如果不创建会话密钥环,则将用户会话密钥环设置为进程的实际会话密钥环。

如果实际会话密钥环不存在,则由request_key(2)搜索用户会话密钥环,否则将其忽略。

定义了一个特殊的序列号值KEY_SPEC_USER_SESSION_KEYRING,它可以代替调用进程的用户会话密钥环的实际序列号。

用户会话密钥环独立于clone(2),fork(2),vfork(2),execve(2)和_exit(2),除了密钥环在销毁最后一个固定它的进程退出时销毁UID记录时被销毁。

如果用户会话密钥环在访问时不存在,则会创建它。

强烈建议不要使用用户会话密钥环,特别是如果该进程以root身份运行时,则应明确设置会话密钥(7),例如通过pam_keyinit(8)。

备注

用户会话钥匙圈加入到支持的情况下一个进程没有一个会话钥匙圈,也许是因为它是通过不涉及PAM途径创建(例如,也许这是由inetd(8)启动了一个守护进程)。在这种情况下,用户会话密钥环可替代会话密钥(7)。

另外参见

keyctl(1),keyctl(3),keyrings(7),持久密钥(7),进程密钥(7),会话密钥(7),线程密钥(7),用户密钥(7)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/