137 lines
4.0 KiB
Groff
137 lines
4.0 KiB
Groff
.\" Access Control Lists manual pages
|
|
.\"
|
|
.\" (C) 2002 Andreas Gruenbacher, <andreas.gruenbacher@gmail.com>
|
|
.\"
|
|
.\" This is free documentation; you can redistribute it and/or
|
|
.\" modify it under the terms of the GNU General Public License as
|
|
.\" published by the Free Software Foundation; either version 2 of
|
|
.\" the License, or (at your option) any later version.
|
|
.\"
|
|
.\" The GNU General Public License's references to "object code"
|
|
.\" and "executables" are to be interpreted as the output of any
|
|
.\" document formatting or typesetting system, including
|
|
.\" intermediate and printed output.
|
|
.\"
|
|
.\" This manual is distributed in the hope that it will be useful,
|
|
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
.\" GNU General Public License for more details.
|
|
.\"
|
|
.\" You should have received a copy of the GNU General Public
|
|
.\" License along with this manual. If not, see
|
|
.\" <http://www.gnu.org/licenses/>.
|
|
.\"
|
|
.Dd March 23, 2002
|
|
.Dt ACL_GET_FILE 3
|
|
.Os "Linux ACL"
|
|
.Sh NAME
|
|
.Nm acl_get_file
|
|
.Nd get an ACL by filename
|
|
.Sh LIBRARY
|
|
Linux Access Control Lists library (libacl, \-lacl).
|
|
.Sh SYNOPSIS
|
|
.In sys/types.h
|
|
.In sys/acl.h
|
|
.Ft acl_t
|
|
.Fn acl_get_file "const char *path_p" "acl_type_t type"
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Fn acl_get_file
|
|
function retrieves the access ACL associated with a file or directory, or the default ACL associated with a directory. The pathname for the file or directory is pointed to by the argument
|
|
.Va path_p .
|
|
The ACL is placed into working storage and
|
|
.Fn acl_get_file
|
|
returns a pointer to that storage.
|
|
.Pp
|
|
In order to read an ACL from an object, a process must have read access to
|
|
the object's attributes.
|
|
.Pp
|
|
The value of the argument
|
|
.Va type
|
|
is used to indicate whether the access ACL or the default ACL associated with
|
|
.Va path_p
|
|
is returned. If
|
|
.Va type
|
|
is ACL_TYPE_ACCESS, the access ACL of
|
|
.Va path_p
|
|
is returned. If
|
|
.Va type
|
|
is ACL_TYPE_DEFAULT, the default ACL of
|
|
.Va path_p
|
|
is returned. If
|
|
.Va type
|
|
is ACL_TYPE_DEFAULT and no default ACL is associated with the directory
|
|
.Va path_p ,
|
|
then an ACL containing zero ACL entries is returned. If
|
|
.Va type
|
|
specifies a type of ACL that cannot be associated with
|
|
.Va path_p ,
|
|
then the function fails.
|
|
.Pp
|
|
This function may cause memory to be allocated. The caller should free any
|
|
releasable memory, when the new ACL is no longer required, by calling
|
|
.Xr acl_free 3
|
|
with the
|
|
.Va (void*)acl_t
|
|
returned by
|
|
.Fn acl_get_file
|
|
as an argument.
|
|
.Sh RETURN VALUE
|
|
On success, this function returns a pointer to the
|
|
working storage. On error, a value of
|
|
.Li (acl_t)NULL
|
|
is returned, and
|
|
.Va errno
|
|
is set appropriately.
|
|
.Sh ERRORS
|
|
If any of the following conditions occur, the
|
|
.Fn acl_get_file
|
|
function returns a value of
|
|
.Li (acl_t)NULL
|
|
and sets
|
|
.Va errno
|
|
to the corresponding value:
|
|
.Bl -tag -width Er
|
|
.It Bq Er EACCES
|
|
Search permission is denied for a component of the path prefix or the
|
|
object exists and the process does not have appropriate access rights.
|
|
.Pp
|
|
Argument
|
|
.Va type
|
|
specifies a type of ACL that cannot be associated with
|
|
.Va path_p .
|
|
.It Bq Er EINVAL
|
|
The argument
|
|
.Va type
|
|
is not ACL_TYPE_ACCESS or ACL_TYPE_DEFAULT.
|
|
.It Bq Er ENAMETOOLONG
|
|
The length of the argument
|
|
.Va path_p
|
|
is too long.
|
|
.It Bq Er ENOENT
|
|
The named object does not exist or the argument
|
|
.Va path_p
|
|
points to an empty string.
|
|
.It Bq Er ENOMEM
|
|
The ACL working storage requires more memory than is allowed by the hardware or system-imposed memory management constraints.
|
|
.It Bq Er ENOTDIR
|
|
A component of the path prefix is not a directory.
|
|
.It Bq Er ENOTSUP
|
|
The file system on which the file identified by
|
|
.Va path_p
|
|
is located does not support ACLs, or ACLs are disabled.
|
|
.El
|
|
.Sh STANDARDS
|
|
IEEE Std 1003.1e draft 17 (\(lqPOSIX.1e\(rq, abandoned)
|
|
.Sh SEE ALSO
|
|
.Xr acl_free 3 ,
|
|
.Xr acl_get_entry 3 ,
|
|
.Xr acl_get_fd 3 ,
|
|
.Xr acl_set_file 3 ,
|
|
.Xr acl 5
|
|
.Sh AUTHOR
|
|
Derived from the FreeBSD manual pages written by
|
|
.An "Robert N M Watson" Aq rwatson@FreeBSD.org ,
|
|
and adapted for Linux by
|
|
.An "Andreas Gruenbacher" Aq andreas.gruenbacher@gmail.com .
|