xref: /freebsd/lib/libc/posix1e/acl_add_perm.3 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
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.\"
26ca48e73aSEdward Tomasz Napierala.Dd June 25, 2009
274bf60dfaSChris D. Faulhaber.Dt ACL_ADD_PERM 3
284bf60dfaSChris D. Faulhaber.Os
294bf60dfaSChris D. Faulhaber.Sh NAME
304bf60dfaSChris D. Faulhaber.Nm acl_add_perm
318480a1ebSRuslan Ermilov.Nd add permissions to a permission set
324bf60dfaSChris D. Faulhaber.Sh LIBRARY
3331acc836SRuslan Ermilov.Lb libc
344bf60dfaSChris D. Faulhaber.Sh SYNOPSIS
3532eef9aeSRuslan Ermilov.In sys/types.h
3632eef9aeSRuslan Ermilov.In sys/acl.h
374bf60dfaSChris D. Faulhaber.Ft int
388480a1ebSRuslan Ermilov.Fn acl_add_perm "acl_permset_t permset_d" "acl_perm_t perm"
394bf60dfaSChris D. Faulhaber.Sh DESCRIPTION
401fae73b1SRuslan ErmilovThe
414bf60dfaSChris D. Faulhaber.Fn acl_add_perm
421fae73b1SRuslan Ermilovfunction
434bf60dfaSChris D. Faulhaberis a POSIX.1e call that adds the permission contained in
448480a1ebSRuslan Ermilov.Fa perm
454bf60dfaSChris D. Faulhaberto the permission set
468480a1ebSRuslan Ermilov.Fa permset_d .
474bf60dfaSChris D. Faulhaber.Pp
484bf60dfaSChris D. FaulhaberNote: it is not considered an error to attempt to add permissions
494bf60dfaSChris D. Faulhaberthat already exist in the permission set.
50f24f1c51SEdward Tomasz Napierala.Pp
51f24f1c51SEdward Tomasz NapieralaFor POSIX.1e ACLs, valid values are:
52aa015c8eSEdward Tomasz Napierala.Bl -column -offset 3n "ACL_WRITE_NAMED_ATTRS"
53f24f1c51SEdward Tomasz Napierala.It ACL_EXECUTE	Execute permission
54f24f1c51SEdward Tomasz Napierala.It ACL_WRITE	Write permission
55f24f1c51SEdward Tomasz Napierala.It ACL_READ	Read permission
56f24f1c51SEdward Tomasz Napierala.El
57aa015c8eSEdward Tomasz Napierala.Pp
58aa015c8eSEdward Tomasz NapieralaFor NFSv4 ACLs, valid values are:
59aa015c8eSEdward Tomasz Napierala.Bl -column -offset 3n "ACL_WRITE_NAMED_ATTRS"
60288eac5aSJoel Dahl.It ACL_READ_DATA Ta "Read permission"
61288eac5aSJoel Dahl.It ACL_LIST_DIRECTORY Ta "Same as ACL_READ_DATA"
62288eac5aSJoel Dahl.It ACL_WRITE_DATA Ta "Write permission, or permission to create files"
63288eac5aSJoel Dahl.It ACL_ADD_FILE Ta "Same as ACL_READ_DATA"
64288eac5aSJoel Dahl.It ACL_APPEND_DATA Ta "Permission to create directories.  Ignored for files"
65288eac5aSJoel Dahl.It ACL_ADD_SUBDIRECTORY Ta "Same as ACL_APPEND_DATA"
66288eac5aSJoel Dahl.It ACL_READ_NAMED_ATTRS Ta "Ignored"
67288eac5aSJoel Dahl.It ACL_WRITE_NAMED_ATTRS Ta "Ignored"
68288eac5aSJoel Dahl.It ACL_EXECUTE Ta "Execute permission"
69288eac5aSJoel Dahl.It ACL_DELETE_CHILD Ta "Permission to delete files and subdirectories"
70288eac5aSJoel Dahl.It ACL_READ_ATTRIBUTES Ta "Permission to read basic attributes"
71288eac5aSJoel Dahl.It ACL_WRITE_ATTRIBUTES Ta "Permission to change basic attributes"
72288eac5aSJoel Dahl.It ACL_DELETE Ta "Permission to delete the object this ACL is placed on"
73288eac5aSJoel Dahl.It ACL_READ_ACL Ta "Permission to read ACL"
74288eac5aSJoel Dahl.It ACL_WRITE_ACL Ta "Permission to change the ACL and file mode"
75288eac5aSJoel Dahl.It ACL_SYNCHRONIZE Ta "Ignored"
76aa015c8eSEdward Tomasz Napierala.El
77aa015c8eSEdward Tomasz Napierala.Pp
78aa015c8eSEdward Tomasz NapieralaCalling
79aa015c8eSEdward Tomasz Napierala.Fn acl_add_perm
80aa015c8eSEdward Tomasz Napieralawith
81aa015c8eSEdward Tomasz Napierala.Fa perm
82aa015c8eSEdward Tomasz Napieralaequal to ACL_WRITE or ACL_READ brands the ACL as POSIX.
83aa015c8eSEdward Tomasz NapieralaCalling it with ACL_READ_DATA, ACL_LIST_DIRECTORY, ACL_WRITE_DATA,
84aa015c8eSEdward Tomasz NapieralaACL_ADD_FILE, ACL_APPEND_DATA, ACL_ADD_SUBDIRECTORY, ACL_READ_NAMED_ATTRS,
85aa015c8eSEdward Tomasz NapieralaACL_WRITE_NAMED_ATTRS, ACL_DELETE_CHILD, ACL_READ_ATTRIBUTES,
86aa015c8eSEdward Tomasz NapieralaACL_WRITE_ATTRIBUTES, ACL_DELETE, ACL_READ_ACL, ACL_WRITE_ACL
87aa015c8eSEdward Tomasz Napieralaor ACL_SYNCHRONIZE brands the ACL as NFSv4.
884bf60dfaSChris D. Faulhaber.Sh RETURN VALUES
898480a1ebSRuslan Ermilov.Rv -std acl_add_perm
904bf60dfaSChris D. Faulhaber.Sh ERRORS
918480a1ebSRuslan ErmilovThe
924bf60dfaSChris D. Faulhaber.Fn acl_add_perm
938480a1ebSRuslan Ermilovfunction fails if:
944bf60dfaSChris D. Faulhaber.Bl -tag -width Er
954bf60dfaSChris D. Faulhaber.It Bq Er EINVAL
964bf60dfaSChris D. FaulhaberArgument
978480a1ebSRuslan Ermilov.Fa permset_d
984bf60dfaSChris D. Faulhaberis not a valid descriptor for a permission set within an ACL entry.
994bf60dfaSChris D. FaulhaberArgument
1008480a1ebSRuslan Ermilov.Fa perm
1014bf60dfaSChris D. Faulhaberdoes not contain a valid
1028480a1ebSRuslan Ermilov.Vt acl_perm_t
1034bf60dfaSChris D. Faulhabervalue.
104aa015c8eSEdward Tomasz NapieralaACL is already branded differently.
1054bf60dfaSChris D. Faulhaber.El
1064bf60dfaSChris D. Faulhaber.Sh SEE ALSO
1074bf60dfaSChris D. Faulhaber.Xr acl 3 ,
1084bf60dfaSChris D. Faulhaber.Xr acl_clear_perms 3 ,
109000d5619SMaxim Sobolev.Xr acl_delete_perm 3 ,
110aa015c8eSEdward Tomasz Napierala.Xr acl_get_brand_np 3 ,
1114bf60dfaSChris D. Faulhaber.Xr acl_get_permset 3 ,
1124bf60dfaSChris D. Faulhaber.Xr acl_set_permset 3 ,
1134bf60dfaSChris D. Faulhaber.Xr posix1e 3
1144bf60dfaSChris D. Faulhaber.Sh STANDARDS
1154bf60dfaSChris D. FaulhaberPOSIX.1e is described in IEEE POSIX.1e draft 17.
1164bf60dfaSChris D. Faulhaber.Sh HISTORY
1174bf60dfaSChris D. FaulhaberPOSIX.1e support was introduced in
1184bf60dfaSChris D. Faulhaber.Fx 4.0 .
1194bf60dfaSChris D. FaulhaberThe
1204bf60dfaSChris D. Faulhaber.Fn acl_add_perm
1214bf60dfaSChris D. Faulhaberfunction was added in
1224bf60dfaSChris D. Faulhaber.Fx 5.0 .
1234bf60dfaSChris D. Faulhaber.Sh AUTHORS
1244bf60dfaSChris D. FaulhaberThe
1254bf60dfaSChris D. Faulhaber.Fn acl_add_perm
1264bf60dfaSChris D. Faulhaberfunction was written by
127*8fbf3d50SBaptiste Daroussin.An Chris D. Faulhaber Aq Mt jedgar@fxp.org .
128