acl_delete_def_file — delete a default ACL by filename

Library

Linux Access Control Lists library (libacl, -lacl).

Synopsis

#include <sys/types.h>
#include <sys/acl.h>

int
acl_delete_def_file(const char *path_p);

Description

The acl_delete_def_file() function deletes a default ACL from the directory whose pathname is pointed to by the argument path_p.

The effective user ID of the process must match the owner of the file or directory or the process must have the CAP_FOWNER capability for the request to succeed.

If the argument path_p is not a directory, then the function fails. It is no error if the directory whose pathname is pointed to by the argument path_p does not have a default ACL.

Return Value

The acl_delete_def_file() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

Errors

If any of the following conditions occur, the acl_delete_def_file() function returns the value -1 and and sets errno to the corresponding value:

[EINVAL]

The file referred to by path_p is not a directory.

[ENOTSUP]

The file system on which the file identified by path_p is located does not support ACLs, or ACLs are disabled.

[EPERM]

The process does not have appropriate privilege to perform the operation to delete the default ACL.

[EROFS]

This function requires modification of a file system which is currently read-only.

Standards

IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned)

See Also

acl_get_file(3), acl_set_file(3), acl(5)

Author

Derived from the FreeBSD manual pages written by Robert N M Watson ⟨rwatson@FreeBSD.org⟩, and adapted for Linux by Andreas Gruenbacher ⟨a.gruenbacher@bestbits.at⟩.

Referenced By

acl(5), acl_set_fd(3), acl_set_file(3).

March 23, 2002