keyctl() - Unix、Linux 系统调用 - 技术教程
Tutorials Point


  Unix 初学者指南
  Unix Shell 编程
  高级 Unix
  Unix 有用参考
  Unix 有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考     讨论论坛     关于 TP  

keyctl() - Unix、Linux 系统调用


previous next AddThis Social Bookmark Button

广告

名称

keyctl - 操作内核的关键管理功能

语法

#include <keyutils.h> 

long keyctl(int cmd, ...);

描述

keyctl() 提供了许多功能
标签描述
KEYCTL_GET_KEYRING_ID
 请求密钥环的 ID。
KEYCTL_JOIN_SESSION_KEYRING
 加入或启动命名的会话密钥环。
KEYCTL_UPDATE
 更新密钥。
KEYCTL_REVOKE
 撤销密钥。
KEYCTL_CHOWN
 设置密钥的所有者。
KEYCTL_SETPERM
 设置密钥的权限。
KEYCTL_DESCRIBE
 描述密钥。
KEYCTL_CLEAR
 清除密钥环的内容。
KEYCTL_LINK
 将密钥链接到密钥环。
KEYCTL_UNLINK
 从密钥环中取消链接密钥。
KEYCTL_SEARCH
 在密钥环中搜索密钥。
KEYCTL_READ
 读取密钥或密钥环的内容。
KEYCTL_INSTANTIATE
 实例化部分构建的密钥。
KEYCTL_NEGATE
 否定部分构建的密钥。
KEYCTL_SET_REQKEY_KEYRING
 设置默认请求密钥密钥环。
KEYCTL_SET_TIMEOUT
 设置密钥的超时。
KEYCTL_ASSUME_AUTHORITY
 假定实例化密钥的权限。
这些都被libkeyutils封装到各个函数中,以允许编译器检查类型。请参阅底部的另请参见部分。

返回值

成功时,keyctl() 返回找到的密钥的序列号。如果发生错误,则返回-1,并且 errno 将被设置为相应的错误。

错误

标签描述
ENOKEY 未找到匹配的密钥或指定了无效的密钥。
EKEYEXPIRED
 找到或指定了已过期的密钥。
EKEYREVOKED
 找到或指定了已撤销的密钥。
EKEYREJECTED
 找到或指定了被拒绝的密钥。
EDQUOT 创建密钥或将其链接到密钥环将超过调用者的用户的密钥配额。
EACCES 密钥操作不被允许。

链接

虽然这是一个 Linux 系统调用,但它不存在于libc中,而是在libkeyutils中。链接时,应向链接器指定-lkeyutils

另请参见

add_key(2),
request_key(2),
keyctl_get_keyring_ID(3),
keyctl_join_session_keyring(3),
keyctl_update(3),
keyctl_revoke(3),
keyctl_chown(3),
keyctl_setperm(3),
keyctl_describe(3),
keyctl_clear(3),
keyctl_link(3),
keyctl_unlink(3),
keyctl_search(3),
keyctl_read(3),
keyctl_instantiate(3),
keyctl_negate(3),
keyctl_set_reqkey_keyring(3),
keyctl_set_timeout(3),
keyctl_assume_authority(3),
keyctl_describe_alloc(3),
keyctl_read_alloc(3),
request-key(8)

previous next Printer Friendly

广告


  

广告



广告
© . All rights reserved.