|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
"http://www.w3.org/TR/html4/loose.dtd">
|
|
Packit |
08bd4c |
<html>
|
|
Packit |
08bd4c |
<head>
|
|
Packit |
08bd4c |
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
|
Packit |
08bd4c |
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
|
Packit |
08bd4c |
<meta name="Content-Style" content="text/css">
|
|
Packit |
08bd4c |
<style type="text/css">
|
|
Packit |
08bd4c |
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
Packit |
08bd4c |
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
Packit |
08bd4c |
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
Packit |
08bd4c |
h1 { text-align: center }
|
|
Packit |
08bd4c |
</style>
|
|
Packit |
08bd4c |
<title></title>
|
|
Packit |
08bd4c |
</head>
|
|
Packit |
08bd4c |
<body>
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL(3) BSD Library Functions Manual
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL(3)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
NAME
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_add_entry,
|
|
Packit |
08bd4c |
archive_entry_acl_add_entry_w,
|
|
Packit |
08bd4c |
archive_entry_acl_clear,
|
|
Packit |
08bd4c |
archive_entry_acl_count,
|
|
Packit |
08bd4c |
archive_entry_acl_from_text,
|
|
Packit |
08bd4c |
archive_entry_acl_from_text_w,
|
|
Packit |
08bd4c |
archive_entry_acl_next,
|
|
Packit |
08bd4c |
archive_entry_acl_next_w,
|
|
Packit |
08bd4c |
archive_entry_acl_reset,
|
|
Packit |
08bd4c |
archive_entry_acl_to_text,
|
|
Packit |
08bd4c |
archive_entry_acl_to_text_w,
|
|
Packit |
08bd4c |
archive_entry_acl_types — functions for
|
|
Packit |
08bd4c |
manipulating Access Control Lists in archive entry
|
|
Packit |
08bd4c |
descriptions
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
LIBRARY
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Streaming Archive Library
|
|
Packit |
08bd4c |
(libarchive, -larchive)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
SYNOPSIS
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
#include
|
|
Packit |
08bd4c |
<archive_entry.h>
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
void
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_add_entry(struct archive_entry *a,
|
|
Packit |
08bd4c |
int type, int permset,
|
|
Packit |
08bd4c |
int tag, int qualifier,
|
|
Packit |
08bd4c |
const char *name);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
void
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_add_entry_w(struct archive_entry *a,
|
|
Packit |
08bd4c |
int type, int permset,
|
|
Packit |
08bd4c |
int tag, int qualifier,
|
|
Packit |
08bd4c |
const wchar_t *name);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
void
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_clear(struct archive_entry *a);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
int
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_count(struct archive_entry *a,
|
|
Packit |
08bd4c |
int type);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
int
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_from_text(struct archive_entry *a,
|
|
Packit |
08bd4c |
const char *text,
|
|
Packit |
08bd4c |
int type);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
int
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_from_text_w(struct archive_entry *a,
|
|
Packit |
08bd4c |
const wchar_t *text,
|
|
Packit |
08bd4c |
int type);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
int
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_next(struct archive_entry *a,
|
|
Packit |
08bd4c |
int type, int *ret_type,
|
|
Packit |
08bd4c |
int *ret_permset, int *ret_tag,
|
|
Packit |
08bd4c |
int *ret_qual,
|
|
Packit |
08bd4c |
const char **ret_name);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
int
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_next_w(struct archive_entry *a,
|
|
Packit |
08bd4c |
int type, int *ret_type,
|
|
Packit |
08bd4c |
int *ret_permset, int *ret_tag,
|
|
Packit |
08bd4c |
int *ret_qual,
|
|
Packit |
08bd4c |
const wchar_t **ret_name);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
int
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_reset(struct archive_entry *a,
|
|
Packit |
08bd4c |
int type);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
char
|
|
Packit |
08bd4c |
*
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_to_text(struct archive_entry *a,
|
|
Packit |
08bd4c |
ssize_t *len_p, int flags);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
wchar_t
|
|
Packit |
08bd4c |
*
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_to_text_w(struct archive_entry *a,
|
|
Packit |
08bd4c |
ssize_t *len_p, int flags);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
int
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_types(struct archive_entry *a);
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
DESCRIPTION
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The ’’Access Control
|
|
Packit |
08bd4c |
Lists (ACLs)’’ extend the standard Unix perssion
|
|
Packit |
08bd4c |
model. The ACL interface of libarchive supports both
|
|
Packit |
08bd4c |
POSIX.1e and NFSv4 style ACLs. Use of ACLs is restricted by
|
|
Packit |
08bd4c |
various levels of ACL support in operating systems, file
|
|
Packit |
08bd4c |
systems and archive formats.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
POSIX.1e
|
|
Packit |
08bd4c |
Access Control Lists
|
|
Packit |
08bd4c |
A POSIX.1e ACL consists of a number of independent entries.
|
|
Packit |
08bd4c |
Each entry specifies the permission set as bitmask of basic
|
|
Packit |
08bd4c |
permissions. Valid permissions in the permset
|
|
Packit |
08bd4c |
are:
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_READ (r)
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_WRITE (w)
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_EXECUTE (x)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The permissions correspond to
|
|
Packit |
08bd4c |
the normal Unix permissions.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The tag
|
|
Packit |
08bd4c |
specifies the principal to which the permission applies.
|
|
Packit |
08bd4c |
Valid values are:
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_USER
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The user specified by the name
|
|
Packit |
08bd4c |
field.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_USER_OBJ
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The owner of the file.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_GROUP
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The group specied by the name
|
|
Packit |
08bd4c |
field.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_GROUP_OBJ
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The group who owns the
|
|
Packit |
08bd4c |
file.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_MASK
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The maximum permissions to be
|
|
Packit |
08bd4c |
obtained via group permissions.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_OTHER
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Any principal who is not file
|
|
Packit |
08bd4c |
owner or a member of the owning group.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The principals
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_USER_OBJ, ARCHIVE_ENTRY_ACL_GROUP_OBJ and
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_OTHER are equivalent to user, group and
|
|
Packit |
08bd4c |
other in the classic Unix permission model and specify
|
|
Packit |
08bd4c |
non-extended ACL entries.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
All files with
|
|
Packit |
08bd4c |
have an access ACL (ARCHIVE_ENTRY_ACL_TYPE_ACCESS). This
|
|
Packit |
08bd4c |
specifies the permissions required for access to the file
|
|
Packit |
08bd4c |
itself. Directories have an additional ACL
|
|
Packit |
08bd4c |
(ARCHIVE_ENTRY_ACL_TYPE_DEFAULT), which controls the initial
|
|
Packit |
08bd4c |
access ACL for newly created directory entries.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
NFSv4 Access
|
|
Packit |
08bd4c |
Control Lists
|
|
Packit |
08bd4c |
A NFSv4 ACL consists of multiple individual entries called
|
|
Packit |
08bd4c |
Access Control Entries (ACEs).
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
There are four
|
|
Packit |
08bd4c |
possible types of a NFSv4 ACE:
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_ALLOW
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Allow principal to perform
|
|
Packit |
08bd4c |
actions requiring given permissions.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_DENY
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Prevent principal from
|
|
Packit |
08bd4c |
performing actions requiring given permissions.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_AUDIT
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Log access attempts by
|
|
Packit |
08bd4c |
principal which require given permissions.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_ALARM
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Trigger a system alarm on
|
|
Packit |
08bd4c |
access attempts by principal which require given
|
|
Packit |
08bd4c |
permissions.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The tag
|
|
Packit |
08bd4c |
specifies the principal to which the permission applies.
|
|
Packit |
08bd4c |
Valid values are:
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_USER
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The user specified by the name
|
|
Packit |
08bd4c |
field.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_USER_OBJ
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The owner of the file.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_GROUP
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The group specied by the name
|
|
Packit |
08bd4c |
field.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_GROUP_OBJ
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The group who owns the
|
|
Packit |
08bd4c |
file.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_EVERYONE
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Any principal who is not file
|
|
Packit |
08bd4c |
owner or a member of the owning group.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Entries with the
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_USER or ARCHIVE_ENTRY_ACL_GROUP tag store
|
|
Packit |
08bd4c |
the user and group name in the name string and
|
|
Packit |
08bd4c |
optionally the user or group ID in the qualifier
|
|
Packit |
08bd4c |
integer.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
NFSv4 ACE
|
|
Packit |
08bd4c |
permissions and flags are stored in the same permset
|
|
Packit |
08bd4c |
bitfield. Some permissions share the same constant and
|
|
Packit |
08bd4c |
permission character but have different effect on
|
|
Packit |
08bd4c |
directories than on files. The following ACE permissions are
|
|
Packit |
08bd4c |
supported:
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_READ_DATA (r)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Read data (file).
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_LIST_DIRECTORY (r)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
List entries (directory).
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_WRITE_DATA (w)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Write data (file).
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_ADD_FILE (w)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Create files (directory).
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_EXECUTE (x)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Execute file or change into a
|
|
Packit |
08bd4c |
directory.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_APPEND_DATA (p)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Append data (file).
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_ADD_SUBDIRECTORY (p)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Create subdirectories
|
|
Packit |
08bd4c |
(directory).
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_DELETE_CHILD (D)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Remove files and subdirectories
|
|
Packit |
08bd4c |
inside a directory.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_DELETE (d)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Remove file or directory.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_READ_ATTRIBUTES (a)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Read file or directory
|
|
Packit |
08bd4c |
attributes.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_WRITE_ATTRIBUTES (A)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Write file or directory
|
|
Packit |
08bd4c |
attributes.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_READ_NAMED_ATTRS (R)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Read named file or directory
|
|
Packit |
08bd4c |
attributes.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_WRITE_NAMED_ATTRS (W)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Write named file or directory
|
|
Packit |
08bd4c |
attributes.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_READ_ACL (c)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Read file or directory ACL.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_WRITE_ACL (C)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Write file or directory
|
|
Packit |
08bd4c |
ACL.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_WRITE_OWNER (o)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Change owner of a file or
|
|
Packit |
08bd4c |
directory.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_SYNCHRONIZE (s)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Use synchronous I/O.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The following
|
|
Packit |
08bd4c |
NFSv4 ACL inheritance flags are supported:
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT (f)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Inherit parent directory ACE to
|
|
Packit |
08bd4c |
files.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT (d)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Inherit parent directory ACE to
|
|
Packit |
08bd4c |
subdirectories.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY (i)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Only inherit, do not apply the
|
|
Packit |
08bd4c |
permission on the directory itself.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT
|
|
Packit |
08bd4c |
(n)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Do not propagate inherit flags.
|
|
Packit |
08bd4c |
Only first-level entries inherit ACLs.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS (S)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Trigger alarm or audit on
|
|
Packit |
08bd4c |
successful access.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS (F)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Trigger alarm or audit on
|
|
Packit |
08bd4c |
failed access.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_ENTRY_INHERITED (I)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Mark that ACE was
|
|
Packit |
08bd4c |
inherited.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Functions
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_add_entry() and
|
|
Packit |
08bd4c |
archive_entry_acl_add_entry_w() add a single ACL
|
|
Packit |
08bd4c |
entry. For the access ACL and non-extended principals, the
|
|
Packit |
08bd4c |
classic Unix permissions are updated. An archive entry
|
|
Packit |
08bd4c |
cannot contain both POSIX.1e and NFSv4 ACL entries.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_clear()
|
|
Packit |
08bd4c |
removes all ACL entries and resets the enumeration
|
|
Packit |
08bd4c |
pointer.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_count()
|
|
Packit |
08bd4c |
counts the ACL entries that have the given type mask.
|
|
Packit |
08bd4c |
type can be the bitwise-or of
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_ACCESS
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_DEFAULT
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
for POSIX.1e
|
|
Packit |
08bd4c |
ACLs and
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_ALLOW
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_DENY
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_AUDIT
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_ALARM
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
for NFSv4 ACLs.
|
|
Packit |
08bd4c |
For POSIX.1e ACLs if ARCHIVE_ENTRY_ACL_TYPE_ACCESS is
|
|
Packit |
08bd4c |
included and at least one extended ACL entry is found, the
|
|
Packit |
08bd4c |
three non-extended ACLs are added.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_from_text()
|
|
Packit |
08bd4c |
and archive_entry_acl_from_text_w() add new (or merge
|
|
Packit |
08bd4c |
with existing) ACL entries from (wide) text. The argument
|
|
Packit |
08bd4c |
type may take one of the following values:
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_ACCESS
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_DEFAULT
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_NFS4
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Supports all
|
|
Packit |
08bd4c |
formats that can be created with
|
|
Packit |
08bd4c |
archive_entry_acl_to_text() or respective
|
|
Packit |
08bd4c |
archive_entry_acl_to_text_w(). Existing ACL entries
|
|
Packit |
08bd4c |
are preserved. To get a clean new ACL from text
|
|
Packit |
08bd4c |
archive_entry_acl_clear() must be called first.
|
|
Packit |
08bd4c |
Entries prefixed with ’’default:’’
|
|
Packit |
08bd4c |
are treated as ARCHIVE_ENTRY_ACL_TYPE_DEFAULT unless
|
|
Packit |
08bd4c |
type is ARCHIVE_ENTRY_ACL_TYPE_NFS4. Invalid entries,
|
|
Packit |
08bd4c |
non-parseable ACL entries and entries beginning with the
|
|
Packit |
08bd4c |
’#’ character (comments) are skipped.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_next()
|
|
Packit |
08bd4c |
and archive_entry_acl_next_w() return the next entry
|
|
Packit |
08bd4c |
of the ACL list. This functions may only be called after
|
|
Packit |
08bd4c |
archive_entry_acl_reset() has indicated the presence
|
|
Packit |
08bd4c |
of extended ACL entries.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_reset()
|
|
Packit |
08bd4c |
prepare reading the list of ACL entries with
|
|
Packit |
08bd4c |
archive_entry_acl_next() or
|
|
Packit |
08bd4c |
archive_entry_acl_next_w(). The function returns
|
|
Packit |
08bd4c |
either 0, if no non-extended ACLs are found. In this case,
|
|
Packit |
08bd4c |
the access permissions should be obtained by
|
|
Packit |
08bd4c |
archive_entry_mode(3) or set using chmod(2). Otherwise, the
|
|
Packit |
08bd4c |
function returns the same value as
|
|
Packit |
08bd4c |
archive_entry_acl_count().
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_to_text()
|
|
Packit |
08bd4c |
and archive_entry_acl_to_text_w() convert the ACL
|
|
Packit |
08bd4c |
entries for the given type into a (wide) string of ACL
|
|
Packit |
08bd4c |
entries separated by newline. If the pointer len_p is
|
|
Packit |
08bd4c |
not NULL, then the function shall return the length of the
|
|
Packit |
08bd4c |
string (not including the NULL terminator) in the location
|
|
Packit |
08bd4c |
pointed to by len_p. The flag argument is a
|
|
Packit |
08bd4c |
bitwise-or.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The following
|
|
Packit |
08bd4c |
flags are effective only on POSIX.1e ACL:
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_ACCESS
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Output access ACLs.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_DEFAULT
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Output POSIX.1e default
|
|
Packit |
08bd4c |
ACLs.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Prefix each default ACL entry
|
|
Packit |
08bd4c |
with the word ’’default:’’.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_STYLE_SOLARIS
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The mask and other ACLs don not
|
|
Packit |
08bd4c |
contain a double colon.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The following
|
|
Packit |
08bd4c |
flags are effecive only on NFSv4 ACL:
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_STYLE_COMPACT
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Do not output minus characters
|
|
Packit |
08bd4c |
for unset permissions and flags in NFSv4 ACL permission and
|
|
Packit |
08bd4c |
flag fields.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
The following
|
|
Packit |
08bd4c |
flags are effective on both POSIX.1e and NFSv4 ACL:
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Add an additional
|
|
Packit |
08bd4c |
colon-separated field containing the user or group id.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
Separate ACL entries with comma
|
|
Packit |
08bd4c |
instead of newline.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
If the archive
|
|
Packit |
08bd4c |
entry contains NFSv4 ACLs, all types of NFSv4 ACLs are
|
|
Packit |
08bd4c |
returned. It the entry contains POSIX.1e ACLs and none of
|
|
Packit |
08bd4c |
the flags ARCHIVE_ENTRY_ACL_TYPE_ACCESS or
|
|
Packit |
08bd4c |
ARCHIVE_ENTRY_ACL_TYPE_DEFAULT are specified, both access
|
|
Packit |
08bd4c |
and default entries are returned and default entries are
|
|
Packit |
08bd4c |
prefixed with ’’default:’’.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_types()
|
|
Packit |
08bd4c |
get ACL entry types contained in an archive entry’s
|
|
Packit |
08bd4c |
ACL. As POSIX.1e and NFSv4 ACL entries cannot be mixed, this
|
|
Packit |
08bd4c |
function is a very efficient way to detect if an ACL already
|
|
Packit |
08bd4c |
contains POSIX.1e or NFSv4 ACL entries.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
RETURN VALUES
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_count()
|
|
Packit |
08bd4c |
and archive_entry_acl_reset() returns the number of
|
|
Packit |
08bd4c |
ACL entries that match the given type mask. For POSIX.1e
|
|
Packit |
08bd4c |
ACLS if the type mask includes ARCHIVE_ENTRY_ACL_TYPE_ACCESS
|
|
Packit |
08bd4c |
and at least one extended ACL entry exists, the three
|
|
Packit |
08bd4c |
classic Unix permissions are counted.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_from_text()
|
|
Packit |
08bd4c |
and archive_entry_acl_from_text_w() return ARCHIVE_OK
|
|
Packit |
08bd4c |
if all entries were successfully parsed and ARCHIVE_WARN if
|
|
Packit |
08bd4c |
one or more entries were invalid or non-parseable.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_next()
|
|
Packit |
08bd4c |
and archive_entry_acl_next_w() return ARCHIVE_OK on
|
|
Packit |
08bd4c |
success, ARCHIVE_EOF if no more ACL entries exist and
|
|
Packit |
08bd4c |
ARCHIVE_WARN if archive_entry_acl_reset() has not
|
|
Packit |
08bd4c |
been called first.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_to_text()
|
|
Packit |
08bd4c |
returns a string representing the ACL entries matching the
|
|
Packit |
08bd4c |
given type and flags on success or NULL on error.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_to_text_w()
|
|
Packit |
08bd4c |
returns a wide string representing the ACL entries matching
|
|
Packit |
08bd4c |
the given type and flags on success or NULL on error.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry_acl_types()
|
|
Packit |
08bd4c |
returns a bitmask of ACL entry types or 0 if archive entry
|
|
Packit |
08bd4c |
has no ACL entries.
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
SEE ALSO
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
archive_entry(3),
|
|
Packit |
08bd4c |
libarchive(3)
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
BSD
|
|
Packit |
08bd4c |
February 15, 2017 BSD
|
|
Packit |
08bd4c |
|
|
Packit |
08bd4c |
</body>
|
|
Packit |
08bd4c |
</html>
|