Blame doc/html/archive_entry_acl.3.html

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348
"http://www.w3.org/TR/html4/loose.dtd">
Packit Service 1d0348
<html>
Packit Service 1d0348
<head>
Packit Service 1d0348
<meta name="generator" content="groff -Thtml, see www.gnu.org">
Packit Service 1d0348
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
Packit Service 1d0348
<meta name="Content-Style" content="text/css">
Packit Service 1d0348
<style type="text/css">
Packit Service 1d0348
       p       { margin-top: 0; margin-bottom: 0; vertical-align: top }
Packit Service 1d0348
       pre     { margin-top: 0; margin-bottom: 0; vertical-align: top }
Packit Service 1d0348
       table   { margin-top: 0; margin-bottom: 0; vertical-align: top }
Packit Service 1d0348
       h1      { text-align: center }
Packit Service 1d0348
</style>
Packit Service 1d0348
<title></title>
Packit Service 1d0348
</head>
Packit Service 1d0348
<body>
Packit Service 1d0348
Packit Service 1d0348

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL(3) BSD Library Functions Manual

Packit Service 1d0348
ARCHIVE_ENTRY_ACL(3)

Packit Service 1d0348
Packit Service 1d0348

NAME

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_add_entry,

Packit Service 1d0348
archive_entry_acl_add_entry_w,
Packit Service 1d0348
archive_entry_acl_clear,
Packit Service 1d0348
archive_entry_acl_count,
Packit Service 1d0348
archive_entry_acl_from_text,
Packit Service 1d0348
archive_entry_acl_from_text_w,
Packit Service 1d0348
archive_entry_acl_next,
Packit Service 1d0348
archive_entry_acl_next_w,
Packit Service 1d0348
archive_entry_acl_reset,
Packit Service 1d0348
archive_entry_acl_to_text,
Packit Service 1d0348
archive_entry_acl_to_text_w,
Packit Service 1d0348
archive_entry_acl_types — functions for
Packit Service 1d0348
manipulating Access Control Lists in archive entry
Packit Service 1d0348
descriptions

Packit Service 1d0348
Packit Service 1d0348

LIBRARY

Packit Service 1d0348
Packit Service 1d0348

Streaming Archive Library

Packit Service 1d0348
(libarchive, -larchive)

Packit Service 1d0348
Packit Service 1d0348

SYNOPSIS

Packit Service 1d0348
Packit Service 1d0348

#include

Packit Service 1d0348
<archive_entry.h>

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_add_entry(struct archive_entry *a,

Packit Service 1d0348
int type, int permset,
Packit Service 1d0348
int tag, int qualifier,
Packit Service 1d0348
const char *name);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_add_entry_w(struct archive_entry *a,

Packit Service 1d0348
int type, int permset,
Packit Service 1d0348
int tag, int qualifier,
Packit Service 1d0348
const wchar_t *name);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_clear(struct archive_entry *a);

Packit Service 1d0348
Packit Service 1d0348

int

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_count(struct archive_entry *a,

Packit Service 1d0348
int type);

Packit Service 1d0348
Packit Service 1d0348

int

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_from_text(struct archive_entry *a,

Packit Service 1d0348
const char *text,
Packit Service 1d0348
int type);

Packit Service 1d0348
Packit Service 1d0348

int

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_from_text_w(struct archive_entry *a,

Packit Service 1d0348
const wchar_t *text,
Packit Service 1d0348
int type);

Packit Service 1d0348
Packit Service 1d0348

int

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_next(struct archive_entry *a,

Packit Service 1d0348
int type, int *ret_type,
Packit Service 1d0348
int *ret_permset, int *ret_tag,
Packit Service 1d0348
int *ret_qual,
Packit Service 1d0348
const char **ret_name);

Packit Service 1d0348
Packit Service 1d0348

int

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_next_w(struct archive_entry *a,

Packit Service 1d0348
int type, int *ret_type,
Packit Service 1d0348
int *ret_permset, int *ret_tag,
Packit Service 1d0348
int *ret_qual,
Packit Service 1d0348
const wchar_t **ret_name);

Packit Service 1d0348
Packit Service 1d0348

int

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_reset(struct archive_entry *a,

Packit Service 1d0348
int type);

Packit Service 1d0348
Packit Service 1d0348

char

Packit Service 1d0348
*

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_to_text(struct archive_entry *a,

Packit Service 1d0348
ssize_t *len_p, int flags);

Packit Service 1d0348
Packit Service 1d0348

wchar_t

Packit Service 1d0348
*

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_to_text_w(struct archive_entry *a,

Packit Service 1d0348
ssize_t *len_p, int flags);

Packit Service 1d0348
Packit Service 1d0348

int

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_types(struct archive_entry *a);

Packit Service 1d0348
Packit Service 1d0348

DESCRIPTION

Packit Service 1d0348
Packit Service 1d0348

The ’’Access Control

Packit Service 1d0348
Lists (ACLs)’’ extend the standard Unix perssion
Packit Service 1d0348
model. The ACL interface of libarchive supports both
Packit Service 1d0348
POSIX.1e and NFSv4 style ACLs. Use of ACLs is restricted by
Packit Service 1d0348
various levels of ACL support in operating systems, file
Packit Service 1d0348
systems and archive formats.

Packit Service 1d0348
Packit Service 1d0348

POSIX.1e

Packit Service 1d0348
Access Control Lists 
Packit Service 1d0348
A POSIX.1e ACL consists of a number of independent entries.
Packit Service 1d0348
Each entry specifies the permission set as bitmask of basic
Packit Service 1d0348
permissions. Valid permissions in the permset
Packit Service 1d0348
are:

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_READ (r)

Packit Service 1d0348
ARCHIVE_ENTRY_ACL_WRITE (w) 
Packit Service 1d0348
ARCHIVE_ENTRY_ACL_EXECUTE (x)

Packit Service 1d0348
Packit Service 1d0348

The permissions correspond to

Packit Service 1d0348
the normal Unix permissions.

Packit Service 1d0348
Packit Service 1d0348

The tag

Packit Service 1d0348
specifies the principal to which the permission applies.
Packit Service 1d0348
Valid values are:

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_USER

Packit Service 1d0348
Packit Service 1d0348

The user specified by the name

Packit Service 1d0348
field.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_USER_OBJ

Packit Service 1d0348
Packit Service 1d0348

The owner of the file.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_GROUP

Packit Service 1d0348
Packit Service 1d0348

The group specied by the name

Packit Service 1d0348
field.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_GROUP_OBJ

Packit Service 1d0348
Packit Service 1d0348

The group who owns the

Packit Service 1d0348
file.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_MASK

Packit Service 1d0348
Packit Service 1d0348

The maximum permissions to be

Packit Service 1d0348
obtained via group permissions.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_OTHER

Packit Service 1d0348
Packit Service 1d0348

Any principal who is not file

Packit Service 1d0348
owner or a member of the owning group.

Packit Service 1d0348
Packit Service 1d0348

The principals

Packit Service 1d0348
ARCHIVE_ENTRY_ACL_USER_OBJ, ARCHIVE_ENTRY_ACL_GROUP_OBJ and
Packit Service 1d0348
ARCHIVE_ENTRY_ACL_OTHER are equivalent to user, group and
Packit Service 1d0348
other in the classic Unix permission model and specify
Packit Service 1d0348
non-extended ACL entries.

Packit Service 1d0348
Packit Service 1d0348

All files with

Packit Service 1d0348
have an access ACL (ARCHIVE_ENTRY_ACL_TYPE_ACCESS). This
Packit Service 1d0348
specifies the permissions required for access to the file
Packit Service 1d0348
itself. Directories have an additional ACL
Packit Service 1d0348
(ARCHIVE_ENTRY_ACL_TYPE_DEFAULT), which controls the initial
Packit Service 1d0348
access ACL for newly created directory entries.

Packit Service 1d0348
Packit Service 1d0348

NFSv4 Access

Packit Service 1d0348
Control Lists 
Packit Service 1d0348
A NFSv4 ACL consists of multiple individual entries called
Packit Service 1d0348
Access Control Entries (ACEs).

Packit Service 1d0348
Packit Service 1d0348

There are four

Packit Service 1d0348
possible types of a NFSv4 ACE:

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_TYPE_ALLOW

Packit Service 1d0348
Packit Service 1d0348

Allow principal to perform

Packit Service 1d0348
actions requiring given permissions.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_TYPE_DENY

Packit Service 1d0348
Packit Service 1d0348

Prevent principal from

Packit Service 1d0348
performing actions requiring given permissions.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_TYPE_AUDIT

Packit Service 1d0348
Packit Service 1d0348

Log access attempts by

Packit Service 1d0348
principal which require given permissions.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_TYPE_ALARM

Packit Service 1d0348
Packit Service 1d0348

Trigger a system alarm on

Packit Service 1d0348
access attempts by principal which require given
Packit Service 1d0348
permissions.

Packit Service 1d0348
Packit Service 1d0348

The tag

Packit Service 1d0348
specifies the principal to which the permission applies.
Packit Service 1d0348
Valid values are:

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_USER

Packit Service 1d0348
Packit Service 1d0348

The user specified by the name

Packit Service 1d0348
field.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_USER_OBJ

Packit Service 1d0348
Packit Service 1d0348

The owner of the file.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_GROUP

Packit Service 1d0348
Packit Service 1d0348

The group specied by the name

Packit Service 1d0348
field.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_GROUP_OBJ

Packit Service 1d0348
Packit Service 1d0348

The group who owns the

Packit Service 1d0348
file.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_EVERYONE

Packit Service 1d0348
Packit Service 1d0348

Any principal who is not file

Packit Service 1d0348
owner or a member of the owning group.

Packit Service 1d0348
Packit Service 1d0348

Entries with the

Packit Service 1d0348
ARCHIVE_ENTRY_ACL_USER or ARCHIVE_ENTRY_ACL_GROUP tag store
Packit Service 1d0348
the user and group name in the name string and
Packit Service 1d0348
optionally the user or group ID in the qualifier
Packit Service 1d0348
integer.

Packit Service 1d0348
Packit Service 1d0348

NFSv4 ACE

Packit Service 1d0348
permissions and flags are stored in the same permset
Packit Service 1d0348
bitfield. Some permissions share the same constant and
Packit Service 1d0348
permission character but have different effect on
Packit Service 1d0348
directories than on files. The following ACE permissions are
Packit Service 1d0348
supported:

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_READ_DATA (r)

Packit Service 1d0348
Packit Service 1d0348

Read data (file).

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_LIST_DIRECTORY (r)

Packit Service 1d0348
Packit Service 1d0348

List entries (directory).

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_WRITE_DATA (w)

Packit Service 1d0348
Packit Service 1d0348

Write data (file).

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_ADD_FILE (w)

Packit Service 1d0348
Packit Service 1d0348

Create files (directory).

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_EXECUTE (x)

Packit Service 1d0348
Packit Service 1d0348

Execute file or change into a

Packit Service 1d0348
directory.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_APPEND_DATA (p)

Packit Service 1d0348
Packit Service 1d0348

Append data (file).

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_ADD_SUBDIRECTORY (p)

Packit Service 1d0348
Packit Service 1d0348

Create subdirectories

Packit Service 1d0348
(directory).

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_DELETE_CHILD (D)

Packit Service 1d0348
Packit Service 1d0348

Remove files and subdirectories

Packit Service 1d0348
inside a directory.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_DELETE (d)

Packit Service 1d0348
Packit Service 1d0348

Remove file or directory.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_READ_ATTRIBUTES (a)

Packit Service 1d0348
Packit Service 1d0348

Read file or directory

Packit Service 1d0348
attributes.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_WRITE_ATTRIBUTES (A)

Packit Service 1d0348
Packit Service 1d0348

Write file or directory

Packit Service 1d0348
attributes.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_READ_NAMED_ATTRS (R)

Packit Service 1d0348
Packit Service 1d0348

Read named file or directory

Packit Service 1d0348
attributes.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_WRITE_NAMED_ATTRS (W)

Packit Service 1d0348
Packit Service 1d0348

Write named file or directory

Packit Service 1d0348
attributes.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_READ_ACL (c)

Packit Service 1d0348
Packit Service 1d0348

Read file or directory ACL.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_WRITE_ACL (C)

Packit Service 1d0348
Packit Service 1d0348

Write file or directory

Packit Service 1d0348
ACL.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_WRITE_OWNER (o)

Packit Service 1d0348
Packit Service 1d0348

Change owner of a file or

Packit Service 1d0348
directory.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_SYNCHRONIZE (s)

Packit Service 1d0348
Packit Service 1d0348

Use synchronous I/O.

Packit Service 1d0348
Packit Service 1d0348

The following

Packit Service 1d0348
NFSv4 ACL inheritance flags are supported:

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT (f)

Packit Service 1d0348
Packit Service 1d0348

Inherit parent directory ACE to

Packit Service 1d0348
files.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT (d)

Packit Service 1d0348
Packit Service 1d0348

Inherit parent directory ACE to

Packit Service 1d0348
subdirectories.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY (i)

Packit Service 1d0348
Packit Service 1d0348

Only inherit, do not apply the

Packit Service 1d0348
permission on the directory itself.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT

Packit Service 1d0348
(n)

Packit Service 1d0348
Packit Service 1d0348

Do not propagate inherit flags.

Packit Service 1d0348
Only first-level entries inherit ACLs.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS (S)

Packit Service 1d0348
Packit Service 1d0348

Trigger alarm or audit on

Packit Service 1d0348
successful access.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS (F)

Packit Service 1d0348
Packit Service 1d0348

Trigger alarm or audit on

Packit Service 1d0348
failed access.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_ENTRY_INHERITED (I)

Packit Service 1d0348
Packit Service 1d0348

Mark that ACE was

Packit Service 1d0348
inherited.

Packit Service 1d0348
Packit Service 1d0348

Functions

Packit Service 1d0348

Packit Service 1d0348
archive_entry_acl_add_entry() and
Packit Service 1d0348
archive_entry_acl_add_entry_w() add a single ACL
Packit Service 1d0348
entry. For the access ACL and non-extended principals, the
Packit Service 1d0348
classic Unix permissions are updated. An archive entry
Packit Service 1d0348
cannot contain both POSIX.1e and NFSv4 ACL entries.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_clear()

Packit Service 1d0348
removes all ACL entries and resets the enumeration
Packit Service 1d0348
pointer.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_count()

Packit Service 1d0348
counts the ACL entries that have the given type mask.
Packit Service 1d0348
type can be the bitwise-or of

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_TYPE_ACCESS

Packit Service 1d0348
ARCHIVE_ENTRY_ACL_TYPE_DEFAULT

Packit Service 1d0348
Packit Service 1d0348

for POSIX.1e

Packit Service 1d0348
ACLs and

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_TYPE_ALLOW

Packit Service 1d0348
ARCHIVE_ENTRY_ACL_TYPE_DENY 
Packit Service 1d0348
ARCHIVE_ENTRY_ACL_TYPE_AUDIT 
Packit Service 1d0348
ARCHIVE_ENTRY_ACL_TYPE_ALARM

Packit Service 1d0348
Packit Service 1d0348

for NFSv4 ACLs.

Packit Service 1d0348
For POSIX.1e ACLs if ARCHIVE_ENTRY_ACL_TYPE_ACCESS is
Packit Service 1d0348
included and at least one extended ACL entry is found, the
Packit Service 1d0348
three non-extended ACLs are added.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_from_text()

Packit Service 1d0348
and archive_entry_acl_from_text_w() add new (or merge
Packit Service 1d0348
with existing) ACL entries from (wide) text. The argument
Packit Service 1d0348
type may take one of the following values:

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_TYPE_ACCESS

Packit Service 1d0348
ARCHIVE_ENTRY_ACL_TYPE_DEFAULT 
Packit Service 1d0348
ARCHIVE_ENTRY_ACL_TYPE_NFS4

Packit Service 1d0348
Packit Service 1d0348

Supports all

Packit Service 1d0348
formats that can be created with
Packit Service 1d0348
archive_entry_acl_to_text() or respective
Packit Service 1d0348
archive_entry_acl_to_text_w(). Existing ACL entries
Packit Service 1d0348
are preserved. To get a clean new ACL from text
Packit Service 1d0348
archive_entry_acl_clear() must be called first.
Packit Service 1d0348
Entries prefixed with ’’default:’’
Packit Service 1d0348
are treated as ARCHIVE_ENTRY_ACL_TYPE_DEFAULT unless
Packit Service 1d0348
type is ARCHIVE_ENTRY_ACL_TYPE_NFS4. Invalid entries,
Packit Service 1d0348
non-parseable ACL entries and entries beginning with the
Packit Service 1d0348
’#’ character (comments) are skipped.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_next()

Packit Service 1d0348
and archive_entry_acl_next_w() return the next entry
Packit Service 1d0348
of the ACL list. This functions may only be called after
Packit Service 1d0348
archive_entry_acl_reset() has indicated the presence
Packit Service 1d0348
of extended ACL entries.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_reset()

Packit Service 1d0348
prepare reading the list of ACL entries with
Packit Service 1d0348
archive_entry_acl_next() or
Packit Service 1d0348
archive_entry_acl_next_w(). The function returns
Packit Service 1d0348
either 0, if no non-extended ACLs are found. In this case,
Packit Service 1d0348
the access permissions should be obtained by
Packit Service 1d0348
archive_entry_mode(3) or set using chmod(2). Otherwise, the
Packit Service 1d0348
function returns the same value as
Packit Service 1d0348
archive_entry_acl_count().

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_to_text()

Packit Service 1d0348
and archive_entry_acl_to_text_w() convert the ACL
Packit Service 1d0348
entries for the given type into a (wide) string of ACL
Packit Service 1d0348
entries separated by newline. If the pointer len_p is
Packit Service 1d0348
not NULL, then the function shall return the length of the
Packit Service 1d0348
string (not including the NULL terminator) in the location
Packit Service 1d0348
pointed to by len_p. The flag argument is a
Packit Service 1d0348
bitwise-or.

Packit Service 1d0348
Packit Service 1d0348

The following

Packit Service 1d0348
flags are effective only on POSIX.1e ACL:

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_TYPE_ACCESS

Packit Service 1d0348
Packit Service 1d0348

Output access ACLs.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_TYPE_DEFAULT

Packit Service 1d0348
Packit Service 1d0348

Output POSIX.1e default

Packit Service 1d0348
ACLs.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT

Packit Service 1d0348
Packit Service 1d0348

Prefix each default ACL entry

Packit Service 1d0348
with the word ’’default:’’.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_STYLE_SOLARIS

Packit Service 1d0348
Packit Service 1d0348

The mask and other ACLs don not

Packit Service 1d0348
contain a double colon.

Packit Service 1d0348
Packit Service 1d0348

The following

Packit Service 1d0348
flags are effecive only on NFSv4 ACL:

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_STYLE_COMPACT

Packit Service 1d0348
Packit Service 1d0348

Do not output minus characters

Packit Service 1d0348
for unset permissions and flags in NFSv4 ACL permission and
Packit Service 1d0348
flag fields.

Packit Service 1d0348
Packit Service 1d0348

The following

Packit Service 1d0348
flags are effective on both POSIX.1e and NFSv4 ACL:

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID

Packit Service 1d0348
Packit Service 1d0348

Add an additional

Packit Service 1d0348
colon-separated field containing the user or group id.

Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA

Packit Service 1d0348
Packit Service 1d0348

Separate ACL entries with comma

Packit Service 1d0348
instead of newline.

Packit Service 1d0348
Packit Service 1d0348

If the archive

Packit Service 1d0348
entry contains NFSv4 ACLs, all types of NFSv4 ACLs are
Packit Service 1d0348
returned. It the entry contains POSIX.1e ACLs and none of
Packit Service 1d0348
the flags ARCHIVE_ENTRY_ACL_TYPE_ACCESS or
Packit Service 1d0348
ARCHIVE_ENTRY_ACL_TYPE_DEFAULT are specified, both access
Packit Service 1d0348
and default entries are returned and default entries are
Packit Service 1d0348
prefixed with ’’default:’’.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_types()

Packit Service 1d0348
get ACL entry types contained in an archive entry’s
Packit Service 1d0348
ACL. As POSIX.1e and NFSv4 ACL entries cannot be mixed, this
Packit Service 1d0348
function is a very efficient way to detect if an ACL already
Packit Service 1d0348
contains POSIX.1e or NFSv4 ACL entries.

Packit Service 1d0348
Packit Service 1d0348

RETURN VALUES

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_count()

Packit Service 1d0348
and archive_entry_acl_reset() returns the number of
Packit Service 1d0348
ACL entries that match the given type mask. For POSIX.1e
Packit Service 1d0348
ACLS if the type mask includes ARCHIVE_ENTRY_ACL_TYPE_ACCESS
Packit Service 1d0348
and at least one extended ACL entry exists, the three
Packit Service 1d0348
classic Unix permissions are counted.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_from_text()

Packit Service 1d0348
and archive_entry_acl_from_text_w() return ARCHIVE_OK
Packit Service 1d0348
if all entries were successfully parsed and ARCHIVE_WARN if
Packit Service 1d0348
one or more entries were invalid or non-parseable.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_next()

Packit Service 1d0348
and archive_entry_acl_next_w() return ARCHIVE_OK on
Packit Service 1d0348
success, ARCHIVE_EOF if no more ACL entries exist and
Packit Service 1d0348
ARCHIVE_WARN if archive_entry_acl_reset() has not
Packit Service 1d0348
been called first.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_to_text()

Packit Service 1d0348
returns a string representing the ACL entries matching the
Packit Service 1d0348
given type and flags on success or NULL on error.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_to_text_w()

Packit Service 1d0348
returns a wide string representing the ACL entries matching
Packit Service 1d0348
the given type and flags on success or NULL on error.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_acl_types()

Packit Service 1d0348
returns a bitmask of ACL entry types or 0 if archive entry
Packit Service 1d0348
has no ACL entries.

Packit Service 1d0348
Packit Service 1d0348

SEE ALSO

Packit Service 1d0348
Packit Service 1d0348

archive_entry(3),

Packit Service 1d0348
libarchive(3)

Packit Service 1d0348
Packit Service 1d0348

BSD

Packit Service 1d0348
February 15, 2017 BSD

Packit Service 1d0348

Packit Service 1d0348
</body>
Packit Service 1d0348
</html>