acl_get_fd, acl_set_fd - get or set the ACL associated with an open file
acl_get_fd returns a pointer to an allocated struct acl associated with the open file referred to by fd. If _POSIX_MAC is in effect, then the process must have MAC read access to the object.
acl_set_fd sets the ACL for the open file referred to by fd from the struct acl pointed to by aclp. The effective UID of the process must match the owner of the object or the process must have appropriate privilege to set the access ACL on the object. If _POSIX_CAP is in effect, then the appropriate capability must include CAP_FOWNER. In addition, if _POSIX_MAC is in effect, then the process must have MAC write access to the object. acl_set_fd function will succeed only if the ACL is valid as defined by the acl_valid(3) function.
acl_get_fd returns a pointer to an allocated struct acl if successful, NULL otherwise. The storage should be freed with a call to acl_free with the returned pointer as an argument when it is no longer needed.
acl_set_fd returns 0 if successful, 1 otherwise.
|
acl_get_fd: |
|||
|
EACCESS EBADF ENOMEM ENOSYS acl_set_fd: |
Access to the object is denied. fd is not a valid file descriptor. allocation of the struct acl failed. ACL support is not available (not installed). |
||
|
EACCESS EBADF EINVAL ENOSPC |
Access to the object is denied. fd is not a valid file descriptor. The ACL is not valid or too large (too many entries). The file system is full or some other resource needed for the ACL storage is not available. |
||
|
ENOSYS EPERM |
ACL support is not available (not installed). The process does not have appropriate privilege to perform the operation to set the ACL. |
||
|
EROFS |
This function requires modification of a file system which is currently readonly. |