KEYCTL_CHOWN(3)

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 specified 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(3), keyrings(7), keyutils(7)