xref: /freebsd/lib/libc/posix1e/acl_add_perm.3 (revision aa015c8e4ad07fbe76ec137fa491c89856b871e0)
14bf60dfaSChris D. Faulhaber.\"-
24bf60dfaSChris D. Faulhaber.\" Copyright (c) 2001 Chris D. Faulhaber
34bf60dfaSChris D. Faulhaber.\" All rights reserved.
44bf60dfaSChris D. Faulhaber.\"
54bf60dfaSChris D. Faulhaber.\" Redistribution and use in source and binary forms, with or without
64bf60dfaSChris D. Faulhaber.\" modification, are permitted provided that the following conditions
74bf60dfaSChris D. Faulhaber.\" are met:
84bf60dfaSChris D. Faulhaber.\" 1. Redistributions of source code must retain the above copyright
94bf60dfaSChris D. Faulhaber.\"    notice, this list of conditions and the following disclaimer.
104bf60dfaSChris D. Faulhaber.\" 2. Redistributions in binary form must reproduce the above copyright
114bf60dfaSChris D. Faulhaber.\"    notice, this list of conditions and the following disclaimer in the
124bf60dfaSChris D. Faulhaber.\"    documentation and/or other materials provided with the distribution.
134bf60dfaSChris D. Faulhaber.\"
144bf60dfaSChris D. Faulhaber.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
154bf60dfaSChris D. Faulhaber.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
164bf60dfaSChris D. Faulhaber.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1768b23992SWarner Losh.\" ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
1868b23992SWarner Losh.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1968b23992SWarner Losh.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2068b23992SWarner Losh.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2168b23992SWarner Losh.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2268b23992SWarner Losh.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2368b23992SWarner Losh.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2468b23992SWarner Losh.\" SUCH DAMAGE.
254bf60dfaSChris D. Faulhaber.\"
264bf60dfaSChris D. Faulhaber.\" $FreeBSD$
274bf60dfaSChris D. Faulhaber.\"
284bf60dfaSChris D. Faulhaber.Dd March 10, 2001
294bf60dfaSChris D. Faulhaber.Dt ACL_ADD_PERM 3
304bf60dfaSChris D. Faulhaber.Os
314bf60dfaSChris D. Faulhaber.Sh NAME
324bf60dfaSChris D. Faulhaber.Nm acl_add_perm
338480a1ebSRuslan Ermilov.Nd add permissions to a permission set
344bf60dfaSChris D. Faulhaber.Sh LIBRARY
3531acc836SRuslan Ermilov.Lb libc
364bf60dfaSChris D. Faulhaber.Sh SYNOPSIS
3732eef9aeSRuslan Ermilov.In sys/types.h
3832eef9aeSRuslan Ermilov.In sys/acl.h
394bf60dfaSChris D. Faulhaber.Ft int
408480a1ebSRuslan Ermilov.Fn acl_add_perm "acl_permset_t permset_d" "acl_perm_t perm"
414bf60dfaSChris D. Faulhaber.Sh DESCRIPTION
421fae73b1SRuslan ErmilovThe
434bf60dfaSChris D. Faulhaber.Fn acl_add_perm
441fae73b1SRuslan Ermilovfunction
454bf60dfaSChris D. Faulhaberis a POSIX.1e call that adds the permission contained in
468480a1ebSRuslan Ermilov.Fa perm
474bf60dfaSChris D. Faulhaberto the permission set
488480a1ebSRuslan Ermilov.Fa permset_d .
494bf60dfaSChris D. Faulhaber.Pp
504bf60dfaSChris D. FaulhaberNote: it is not considered an error to attempt to add permissions
514bf60dfaSChris D. Faulhaberthat already exist in the permission set.
52f24f1c51SEdward Tomasz Napierala.Pp
53f24f1c51SEdward Tomasz NapieralaFor POSIX.1e ACLs, valid values are:
54f24f1c51SEdward Tomasz Napierala.Pp
55aa015c8eSEdward Tomasz Napierala.Bl -column -offset 3n "ACL_WRITE_NAMED_ATTRS"
56f24f1c51SEdward Tomasz Napierala.It ACL_EXECUTE	Execute permission
57f24f1c51SEdward Tomasz Napierala.It ACL_WRITE	Write permission
58f24f1c51SEdward Tomasz Napierala.It ACL_READ	Read permission
59f24f1c51SEdward Tomasz Napierala.El
60aa015c8eSEdward Tomasz Napierala.Pp
61aa015c8eSEdward Tomasz NapieralaFor NFSv4 ACLs, valid values are:
62aa015c8eSEdward Tomasz Napierala.Pp
63aa015c8eSEdward Tomasz Napierala.Bl -column -offset 3n "ACL_WRITE_NAMED_ATTRS"
64aa015c8eSEdward Tomasz Napierala.It ACL_READ_DATA		Read permission
65aa015c8eSEdward Tomasz Napierala.It ACL_LIST_DIRECTORY		Same as ACL_READ_DATA
66aa015c8eSEdward Tomasz Napierala.It ACL_WRITE_DATA		Write permission, or permission to create files
67aa015c8eSEdward Tomasz Napierala.It ACL_ADD_FILE		Same as ACL_READ_DATA
68aa015c8eSEdward Tomasz Napierala.It ACL_APPEND_DATA		Permission to create directories.  Ignored for files
69aa015c8eSEdward Tomasz Napierala.It ACL_ADD_SUBDIRECTORY	Same as ACL_APPEND_DATA
70aa015c8eSEdward Tomasz Napierala.It ACL_READ_NAMED_ATTRS	Ignored
71aa015c8eSEdward Tomasz Napierala.It ACL_WRITE_NAMED_ATTRS	Ignored
72aa015c8eSEdward Tomasz Napierala.It ACL_EXECUTE			Execute permission
73aa015c8eSEdward Tomasz Napierala.It ACL_DELETE_CHILD		Permission to delete files and subdirectories
74aa015c8eSEdward Tomasz Napierala.It ACL_READ_ATTRIBUTES		Permission to read basic attributes
75aa015c8eSEdward Tomasz Napierala.It ACL_WRITE_ATTRIBUTES	Permission to change basic attributes
76aa015c8eSEdward Tomasz Napierala.It ACL_DELETE			Permission to delete the object this ACL is placed on
77aa015c8eSEdward Tomasz Napierala.It ACL_READ_ACL		Permission to read ACL
78aa015c8eSEdward Tomasz Napierala.It ACL_WRITE_ACL		Permission to change the ACL and file mode
79aa015c8eSEdward Tomasz Napierala.It ACL_SYNCHRONIZE		Ignored
80aa015c8eSEdward Tomasz Napierala.El
81aa015c8eSEdward Tomasz Napierala.Pp
82aa015c8eSEdward Tomasz NapieralaCalling
83aa015c8eSEdward Tomasz Napierala.Fn acl_add_perm
84aa015c8eSEdward Tomasz Napieralawith
85aa015c8eSEdward Tomasz Napierala.Fa perm
86aa015c8eSEdward Tomasz Napieralaequal to ACL_WRITE or ACL_READ brands the ACL as POSIX.
87aa015c8eSEdward Tomasz NapieralaCalling it with ACL_READ_DATA, ACL_LIST_DIRECTORY, ACL_WRITE_DATA,
88aa015c8eSEdward Tomasz NapieralaACL_ADD_FILE, ACL_APPEND_DATA, ACL_ADD_SUBDIRECTORY, ACL_READ_NAMED_ATTRS,
89aa015c8eSEdward Tomasz NapieralaACL_WRITE_NAMED_ATTRS, ACL_DELETE_CHILD, ACL_READ_ATTRIBUTES,
90aa015c8eSEdward Tomasz NapieralaACL_WRITE_ATTRIBUTES, ACL_DELETE, ACL_READ_ACL, ACL_WRITE_ACL
91aa015c8eSEdward Tomasz Napieralaor ACL_SYNCHRONIZE brands the ACL as NFSv4.
924bf60dfaSChris D. Faulhaber.Sh RETURN VALUES
938480a1ebSRuslan Ermilov.Rv -std acl_add_perm
944bf60dfaSChris D. Faulhaber.Sh ERRORS
958480a1ebSRuslan ErmilovThe
964bf60dfaSChris D. Faulhaber.Fn acl_add_perm
978480a1ebSRuslan Ermilovfunction fails if:
984bf60dfaSChris D. Faulhaber.Bl -tag -width Er
994bf60dfaSChris D. Faulhaber.It Bq Er EINVAL
1004bf60dfaSChris D. FaulhaberArgument
1018480a1ebSRuslan Ermilov.Fa permset_d
1024bf60dfaSChris D. Faulhaberis not a valid descriptor for a permission set within an ACL entry.
1034bf60dfaSChris D. FaulhaberArgument
1048480a1ebSRuslan Ermilov.Fa perm
1054bf60dfaSChris D. Faulhaberdoes not contain a valid
1068480a1ebSRuslan Ermilov.Vt acl_perm_t
1074bf60dfaSChris D. Faulhabervalue.
108aa015c8eSEdward Tomasz NapieralaACL is already branded differently.
1094bf60dfaSChris D. Faulhaber.El
1104bf60dfaSChris D. Faulhaber.Sh SEE ALSO
1114bf60dfaSChris D. Faulhaber.Xr acl 3 ,
1124bf60dfaSChris D. Faulhaber.Xr acl_clear_perms 3 ,
113000d5619SMaxim Sobolev.Xr acl_delete_perm 3 ,
114aa015c8eSEdward Tomasz Napierala.Xr acl_get_brand_np 3 ,
1154bf60dfaSChris D. Faulhaber.Xr acl_get_permset 3 ,
1164bf60dfaSChris D. Faulhaber.Xr acl_set_permset 3 ,
1174bf60dfaSChris D. Faulhaber.Xr posix1e 3
1184bf60dfaSChris D. Faulhaber.Sh STANDARDS
1194bf60dfaSChris D. FaulhaberPOSIX.1e is described in IEEE POSIX.1e draft 17.
1204bf60dfaSChris D. Faulhaber.Sh HISTORY
1214bf60dfaSChris D. FaulhaberPOSIX.1e support was introduced in
1224bf60dfaSChris D. Faulhaber.Fx 4.0 .
1234bf60dfaSChris D. FaulhaberThe
1244bf60dfaSChris D. Faulhaber.Fn acl_add_perm
1254bf60dfaSChris D. Faulhaberfunction was added in
1264bf60dfaSChris D. Faulhaber.Fx 5.0 .
1274bf60dfaSChris D. Faulhaber.Sh AUTHORS
1284bf60dfaSChris D. FaulhaberThe
1294bf60dfaSChris D. Faulhaber.Fn acl_add_perm
1304bf60dfaSChris D. Faulhaberfunction was written by
1314bf60dfaSChris D. Faulhaber.An Chris D. Faulhaber Aq jedgar@fxp.org .
132