Messages in this thread | | | Date | Tue, 9 Jul 2019 13:42:25 -0700 | From | Eric Biggers <> | Subject | Re: [PATCH 2/2] KEYS: Provide KEYCTL_GRANT_PERMISSION |
| |
On Thu, May 23, 2019 at 04:58:43PM +0100, David Howells wrote: > Provide a keyctl() operation to grant/remove permissions. The grant > operation, wrapped by libkeyutils, looks like: > > int ret = keyctl_grant_permission(key_serial_t key, > enum key_ace_subject_type type, > unsigned int subject, > unsigned int perm); > > Where key is the key to be modified, type and subject represent the subject > to which permission is to be granted (or removed) and perm is the set of > permissions to be granted. 0 is returned on success. SET_SECURITY > permission is required for this. > > The subject type currently must be KEY_ACE_SUBJ_STANDARD for the moment > (other subject types will come along later). > > For subject type KEY_ACE_SUBJ_STANDARD, the following subject values are > available: > > KEY_ACE_POSSESSOR The possessor of the key > KEY_ACE_OWNER The owner of the key > KEY_ACE_GROUP The key's group > KEY_ACE_EVERYONE Everyone > > perm lists the permissions to be granted: > > KEY_ACE_VIEW Can view the key metadata > KEY_ACE_READ Can read the key content > KEY_ACE_WRITE Can update/modify the key content > KEY_ACE_SEARCH Can find the key by searching/requesting > KEY_ACE_LINK Can make a link to the key > KEY_ACE_SET_SECURITY Can set security > KEY_ACE_INVAL Can invalidate > KEY_ACE_REVOKE Can revoke > KEY_ACE_JOIN Can join this keyring > KEY_ACE_CLEAR Can clear this keyring > > If an ACE already exists for the subject, then the permissions mask will be > overwritten; if perm is 0, it will be deleted. > > Currently, the internal ACL is limited to a maximum of 16 entries. > > For example: > > int ret = keyctl_grant_permission(key, > KEY_ACE_SUBJ_STANDARD, > KEY_ACE_OWNER, > KEY_ACE_VIEW | KEY_ACE_READ); > > Signed-off-by: David Howells <dhowells@redhat.com>
Where is the documentation and tests for this? I want to add syzkaller definitions for this, but there is no documentation (a commit message doesn't count). I checked the 'next' branch of keyutils as well.
How is anyone supposed to use this if there is no documentation?
- Eric
| |