为什么我用了keyctl show只显示两个密钥环[root@centos7-66 ~]# keyctl show
Session Keyring
442584354 --alswrv 0 0 keyring: _ses
1038031375 --alswrv 0 65534 _ keyring: _uid.0
但是/proc/keys下的密钥所属的密钥环却有keyring
这是keyctl show中没有显示的
`keyctl show` 命令只显示与当前会话关联的密钥环以及它们的详细信息。它并不会显示所有密钥环。
如果您希望查看 `/proc/keys` 下所有密钥的所属密钥环,可以直接查看该文件。每行的开头会显示密钥的 `key` 标识符和所属密钥环的标识符。
请注意,`keyctl show` 命令和 `/proc/keys` 文件是不同的接口,提供了不同的信息和功能。`keyctl show` 主要用于显示与当前会话关联的密钥,而 `/proc/keys` 文件提供了系统中所有密钥的信息。
命令
用于创建新的keyring
name就是写keyring的名称
<keyring>是写
清除下图最后一个钥匙环
用keyctl unlink <keyring id>
keyctl add <type> <desc> <data> <keyring>创建一个钥匙
要创建一个钥匙,你可以使用以下命令:
```
keyctl add <type> <description> <payload> <datalen> <keyring>
```
其中,各个参数的含义如下:
- `<type>`:指定要创建的钥匙的类型。例如,可以使用 `user` 创建一个用户级别的钥匙。
- `<description>`:指定钥匙的描述。它是一个字符串,用于标识和描述该钥匙。
- `<payload>`:指定钥匙的内容。它可以是任意有效的数据,如密码、密钥材料等。
- `<datalen>`:指定 `<payload>` 的长度。
- `<keyring>`:指定将新创建的钥匙放入哪个钥匙环中。可以使用 `user` 表示当前用户的默认钥匙环。
请注意,使用这个命令需要足够的权限。如果你没有足够的权限,你可能需要以管理员身份运行这个命令,或者联系系统管理员进行操作。
创建成功后,该命令将返回新创建的钥匙的标识符,你可以使用它来引用该钥匙进行后续操作。
/proc/keys中看不到 密钥的所属钥匙环
可以看到0a那一段就是172那段的十六进制都是key id
可以用keyctl show <keyring id>看到keyring下的钥匙
可以看到用keyctl read<key id>才能看到密钥内容而且无论是字符还是数字会变成16进制ascii码
26个16进制数两个16进制数代表一个字符我的密钥内容是sbZRWsbZRW520所以是正确的
删除钥匙和钥匙环一样
都是keyctl unlink <key/keyring id>