KEYCTL_CHOWN
Section: Linux Key Management Calls (3)
Updated: 4 May 2006
Index
Return to Main Contents
NAME
keyctl_chown - Change the ownership of a key
SYNOPSIS
#include <keyutils.h>
long keyctl_chown(key_serial_t key, uid_t uid, gid_t gid);
DESCRIPTION
keyctl_chown()
changes the user and group ownership details of a key.
A setting of
-1
on either
uid
or
gid
will cause that setting to be ignored.
A process that does not have the
SysAdmin
capability may not change a key's UID or set the key's GID to a value that
does not match the process's GID or one of its group list.
The caller must have
setattr
permission on a key to be able change its ownership.
RETURN VALUE
On success
keyctl_chown()
returns
0 .
On error, the value
-1
will be returned and errno will have been set to an appropriate error.
ERRORS
- ENOKEY
-
The specied key does not exist.
- EKEYEXPIRED
-
The specified key has expired.
- EKEYREVOKED
-
The specified key has been revoked.
- EDQUOT
-
Changing the UID to the one specified would run that UID out of quota.
- EACCES
-
The key exists, but does not grant
setattr
permission to the calling process.
LINKING
This is a library function that can be found in
libkeyutils.
When linking,
-lkeyutils
should be specified to the linker.
SEE ALSO
keyctl(1),
add_key(2),
keyctl(2),
request_key(2),
keyctl_get_keyring_ID(3),
keyctl_join_session_keyring(3),
keyctl_update(3),
keyctl_revoke(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)