You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Go keyctl包创建的Keyring无法设置权限的问题求助

使用keyctl Go包创建命名keyring时的权限设置问题

我在使用keyctl Go包创建命名keyring时遇到权限设置问题:手动通过keyctl命令创建的keyring可使用setperm设置权限,但该Go包创建的keyring执行setperm命令时失败。

其中,DHIWAKAR_NAMED_KEYRING_FOUR由Go包创建,DHIWAKARMANKEYRING为手动使用keyctl命令创建。

以下是命令输出片段:

[root@dhiwakar:keyctl (ad-default)]$ keyctl rdescribe 16677105 
keyring;0;0;3f010000;DHIWAKAR_NAMED_KEYRING_FOUR
[root@dhiwakar:keyctl (ad-default)]$ keyctl rdescribe 33715012
keyring;0;0;3f010000;DHIWAKARMANKEYRING
[root@dhiwakar:keyctl (ad-default)]$ keyctl setperm 16677105 0x3f3f3f3f
keyctl_setperm: Permission denied
[root@dhiwakar:keyctl (ad-default)]$ keyctl setperm 33715012 0x3f3f3f3f
[root@dhiwakar:keyctl (ad-default)]$ 

创建keyring的Go代码片段:

fmt.Println("1 Get UserSessionKeyring")
UserSessionKeyring, err := keyctl.UserSessionKeyring()
if err != nil {
    fmt.Println("ERROR for keyctl.UserSessionKeyring() is !!! ", err.Error())
    os.Exit(1)
}

fmt.Println("2 Create a Named Keyring")
myKeyring, err := keyctl.CreateKeyring(UserSessionKeyring, "DHIWAKAR_NAMED_KEYRING_FOUR")
if err != nil {
    fmt.Println("ERROR for keyctl.CreateKeyring() is !!! ", err.Error())
    os.Exit(1)
}

测试环境:Rocky Linux release 8.8 (Green Obsidian)

内容的提问来源于stack exchange,提问作者Dhiwakar Ravikumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 07:23:16