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 keys UID or set the keys GID to a value that does not match the processs 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)