kernel.keys.maxkeys 是每个用户还是每个密钥?

kernel.keys.maxkeys 是每个用户还是每个密钥?

Linux 内核关于其密钥保留服务的文档指出:

/proc/sys/kernel/keys/maxkeys /proc/sys/kernel/keys/maxbytes

这些文件保存每个非根用户可能拥有的密钥的最大数量以及每个用户可能在其密钥中存储的数据的最大总字节数。

不过,我发现,措辞并不清楚是否可以使用每个用户或每个密钥“最大字节”来存储密钥数据。那么是每个用户还是每个密钥?

答案1

答案是:每个用户。

请看下面的演示:

┌[rovanion][RiggenBuntu]:~
└$ keyctl add user a-key some-data @u
812046028

┌[root][RiggenBuntu]:/
└# cat /proc/key-users
    0:    95 94/94 83/1000000 1687/25000000
 1000:     5 5/5 5/200 61/20000
┌[root][RiggenBuntu]:/
└# sysctl -w kernel.keys.maxbytes=62
kernel.keys.maxbytes = 62
┌[root][RiggenBuntu]:/
└# cat /proc/key-users
    0:    95 94/94 83/1000000 1687/25000000
 1000:     5 5/5 5/200 61/62

┌[rovanion][RiggenBuntu]:~
└$ keyctl add user b-key more-data @u
add_key: Disk quota exceeded

相关内容