xref: /illumos-gate/usr/src/uts/common/os/priv_defs (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1*7c478bd9Sstevel@tonic-gate/*
2*7c478bd9Sstevel@tonic-gate * CDDL HEADER START
3*7c478bd9Sstevel@tonic-gate *
4*7c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the
5*7c478bd9Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only
6*7c478bd9Sstevel@tonic-gate * (the "License").  You may not use this file except in compliance
7*7c478bd9Sstevel@tonic-gate * with the License.
8*7c478bd9Sstevel@tonic-gate *
9*7c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*7c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing.
11*7c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions
12*7c478bd9Sstevel@tonic-gate * and limitations under the License.
13*7c478bd9Sstevel@tonic-gate *
14*7c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each
15*7c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*7c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the
17*7c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying
18*7c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner]
19*7c478bd9Sstevel@tonic-gate *
20*7c478bd9Sstevel@tonic-gate * CDDL HEADER END
21*7c478bd9Sstevel@tonic-gate */
22*7c478bd9Sstevel@tonic-gate/*
23*7c478bd9Sstevel@tonic-gate * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
24*7c478bd9Sstevel@tonic-gate * Use is subject to license terms.
25*7c478bd9Sstevel@tonic-gate *
26*7c478bd9Sstevel@tonic-gateINSERT COMMENT
27*7c478bd9Sstevel@tonic-gate */
28*7c478bd9Sstevel@tonic-gate
29*7c478bd9Sstevel@tonic-gate#pragma ident	"%Z%%M%	%I%	%E% SMI"
30*7c478bd9Sstevel@tonic-gate
31*7c478bd9Sstevel@tonic-gate#
32*7c478bd9Sstevel@tonic-gate# Privileges can be added to this file at any location, not
33*7c478bd9Sstevel@tonic-gate# necessarily at the end.  For patches, it is probably best to
34*7c478bd9Sstevel@tonic-gate# add the new privilege at the end; for ordinary releases privileges
35*7c478bd9Sstevel@tonic-gate# should be ordered alphabetically.
36*7c478bd9Sstevel@tonic-gate#
37*7c478bd9Sstevel@tonic-gate
38*7c478bd9Sstevel@tonic-gateprivilege PRIV_CONTRACT_EVENT
39*7c478bd9Sstevel@tonic-gate
40*7c478bd9Sstevel@tonic-gate	Allows a process to request critical events without limitation.
41*7c478bd9Sstevel@tonic-gate	Allows a process to request reliable delivery of all events on
42*7c478bd9Sstevel@tonic-gate	any event queue.
43*7c478bd9Sstevel@tonic-gate
44*7c478bd9Sstevel@tonic-gateprivilege PRIV_CONTRACT_OBSERVER
45*7c478bd9Sstevel@tonic-gate
46*7c478bd9Sstevel@tonic-gate	Allows a process to observe contract events generated by
47*7c478bd9Sstevel@tonic-gate	contracts created and owned by users other than the process's
48*7c478bd9Sstevel@tonic-gate	effective user ID.
49*7c478bd9Sstevel@tonic-gate	Allows a process to open contract event endpoints belonging to
50*7c478bd9Sstevel@tonic-gate	contracts created and owned by users other than the process's
51*7c478bd9Sstevel@tonic-gate	effective user ID.
52*7c478bd9Sstevel@tonic-gate
53*7c478bd9Sstevel@tonic-gateprivilege PRIV_CPC_CPU
54*7c478bd9Sstevel@tonic-gate
55*7c478bd9Sstevel@tonic-gate	Allow a process to access per-CPU hardware performance counters.
56*7c478bd9Sstevel@tonic-gate
57*7c478bd9Sstevel@tonic-gateprivilege PRIV_DTRACE_KERNEL
58*7c478bd9Sstevel@tonic-gate
59*7c478bd9Sstevel@tonic-gate	Allows DTrace kernel-level tracing.
60*7c478bd9Sstevel@tonic-gate
61*7c478bd9Sstevel@tonic-gateprivilege PRIV_DTRACE_PROC
62*7c478bd9Sstevel@tonic-gate
63*7c478bd9Sstevel@tonic-gate	Allows DTrace process-level tracing.
64*7c478bd9Sstevel@tonic-gate	Allows process-level tracing probes to be placed and enabled in
65*7c478bd9Sstevel@tonic-gate	processes to which the user has permissions.
66*7c478bd9Sstevel@tonic-gate
67*7c478bd9Sstevel@tonic-gateprivilege PRIV_DTRACE_USER
68*7c478bd9Sstevel@tonic-gate
69*7c478bd9Sstevel@tonic-gate	Allows DTrace user-level tracing.
70*7c478bd9Sstevel@tonic-gate	Allows use of the syscall and profile DTrace providers to
71*7c478bd9Sstevel@tonic-gate	examine processes to which the user has permissions.
72*7c478bd9Sstevel@tonic-gate
73*7c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_CHOWN
74*7c478bd9Sstevel@tonic-gate
75*7c478bd9Sstevel@tonic-gate	Allows a process to change a file's owner user ID.
76*7c478bd9Sstevel@tonic-gate	Allows a process to change a file's group ID to one other than
77*7c478bd9Sstevel@tonic-gate	the process' effective group ID or one of the process'
78*7c478bd9Sstevel@tonic-gate	supplemental group IDs.
79*7c478bd9Sstevel@tonic-gate
80*7c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_CHOWN_SELF
81*7c478bd9Sstevel@tonic-gate
82*7c478bd9Sstevel@tonic-gate	Allows a process to give away its files; a process with this
83*7c478bd9Sstevel@tonic-gate	privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not
84*7c478bd9Sstevel@tonic-gate	in effect.
85*7c478bd9Sstevel@tonic-gate
86*7c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_DAC_EXECUTE
87*7c478bd9Sstevel@tonic-gate
88*7c478bd9Sstevel@tonic-gate	Allows a process to execute an executable file whose permission
89*7c478bd9Sstevel@tonic-gate	bits or ACL do not allow the process execute permission.
90*7c478bd9Sstevel@tonic-gate
91*7c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_DAC_READ
92*7c478bd9Sstevel@tonic-gate
93*7c478bd9Sstevel@tonic-gate	Allows a process to read a file or directory whose permission
94*7c478bd9Sstevel@tonic-gate	bits or ACL do not allow the process read permission.
95*7c478bd9Sstevel@tonic-gate
96*7c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_DAC_SEARCH
97*7c478bd9Sstevel@tonic-gate
98*7c478bd9Sstevel@tonic-gate	Allows a process to search a directory whose permission bits or
99*7c478bd9Sstevel@tonic-gate	ACL do not allow the process search permission.
100*7c478bd9Sstevel@tonic-gate
101*7c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_DAC_WRITE
102*7c478bd9Sstevel@tonic-gate
103*7c478bd9Sstevel@tonic-gate	Allows a process to write a file or directory whose permission
104*7c478bd9Sstevel@tonic-gate	bits or ACL do not allow the process write permission.
105*7c478bd9Sstevel@tonic-gate	In order to write files owned by uid 0 in the absence of an
106*7c478bd9Sstevel@tonic-gate	effective uid of 0 ALL privileges are required.
107*7c478bd9Sstevel@tonic-gate
108*7c478bd9Sstevel@tonic-gatebasic privilege PRIV_FILE_LINK_ANY
109*7c478bd9Sstevel@tonic-gate
110*7c478bd9Sstevel@tonic-gate	Allows a process to create hardlinks to files owned by a uid
111*7c478bd9Sstevel@tonic-gate	different from the process' effective uid.
112*7c478bd9Sstevel@tonic-gate
113*7c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_OWNER
114*7c478bd9Sstevel@tonic-gate
115*7c478bd9Sstevel@tonic-gate	Allows a process which is not the owner of a file or directory
116*7c478bd9Sstevel@tonic-gate	to perform the following operations that are normally permitted
117*7c478bd9Sstevel@tonic-gate	only for the file owner: modify that file's access and
118*7c478bd9Sstevel@tonic-gate	modification times; remove or rename a file or directory whose
119*7c478bd9Sstevel@tonic-gate	parent directory has the ``save text image after execution''
120*7c478bd9Sstevel@tonic-gate	(sticky) bit set; mount a ``namefs'' upon a file; modify
121*7c478bd9Sstevel@tonic-gate	permission bits or ACL except for the set-uid and set-gid
122*7c478bd9Sstevel@tonic-gate	bits.
123*7c478bd9Sstevel@tonic-gate
124*7c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_SETID
125*7c478bd9Sstevel@tonic-gate
126*7c478bd9Sstevel@tonic-gate	Allows a process to change the ownership of a file or write to
127*7c478bd9Sstevel@tonic-gate	a file without the set-user-ID and set-group-ID bits being
128*7c478bd9Sstevel@tonic-gate	cleared.
129*7c478bd9Sstevel@tonic-gate	Allows a process to set the set-group-ID bit on a file or
130*7c478bd9Sstevel@tonic-gate	directory whose group is not the process' effective group or
131*7c478bd9Sstevel@tonic-gate	one of the process' supplemental groups.
132*7c478bd9Sstevel@tonic-gate	Allows a process to set the set-user-ID bit on a file with
133*7c478bd9Sstevel@tonic-gate	different ownership in the presence of PRIV_FILE_OWNER.
134*7c478bd9Sstevel@tonic-gate	Additional restrictions apply when creating or modifying a
135*7c478bd9Sstevel@tonic-gate	set-uid 0 file.
136*7c478bd9Sstevel@tonic-gate
137*7c478bd9Sstevel@tonic-gateprivilege PRIV_GART_ACCESS
138*7c478bd9Sstevel@tonic-gate
139*7c478bd9Sstevel@tonic-gate	Allows a process to make ioctls to agpgart device except
140*7c478bd9Sstevel@tonic-gate	that AGPIOC_INFO ioctl needs no privilege. Typically only
141*7c478bd9Sstevel@tonic-gate	xserver process needs to have this privilege. And a process
142*7c478bd9Sstevel@tonic-gate	with this privilege is also allowed to map aperture ranges
143*7c478bd9Sstevel@tonic-gate	through agpgart driver.
144*7c478bd9Sstevel@tonic-gate
145*7c478bd9Sstevel@tonic-gateprivilege PRIV_GART_MAP
146*7c478bd9Sstevel@tonic-gate
147*7c478bd9Sstevel@tonic-gate	Allows a process to map aperture ranges through  agpgart
148*7c478bd9Sstevel@tonic-gate	driver. This privilege won't allow the process to do agpgart
149*7c478bd9Sstevel@tonic-gate	ioctls other than AGPIOC_INFO.
150*7c478bd9Sstevel@tonic-gate
151*7c478bd9Sstevel@tonic-gateprivilege PRIV_IPC_DAC_READ
152*7c478bd9Sstevel@tonic-gate
153*7c478bd9Sstevel@tonic-gate	Allows a process to read a System V IPC
154*7c478bd9Sstevel@tonic-gate	Message Queue, Semaphore Set, or Shared Memory Segment whose
155*7c478bd9Sstevel@tonic-gate	permission bits do not allow the process read permission.
156*7c478bd9Sstevel@tonic-gate	Allows a process to read remote shared memory whose
157*7c478bd9Sstevel@tonic-gate	permission bits do not allow the process read permission.
158*7c478bd9Sstevel@tonic-gate
159*7c478bd9Sstevel@tonic-gateprivilege PRIV_IPC_DAC_WRITE
160*7c478bd9Sstevel@tonic-gate
161*7c478bd9Sstevel@tonic-gate	Allows a process to write a System V IPC
162*7c478bd9Sstevel@tonic-gate	Message Queue, Semaphore Set, or Shared Memory Segment whose
163*7c478bd9Sstevel@tonic-gate	permission bits do not allow the process write permission.
164*7c478bd9Sstevel@tonic-gate	Allows a process to read remote shared memory whose
165*7c478bd9Sstevel@tonic-gate	permission bits do not allow the process write permission.
166*7c478bd9Sstevel@tonic-gate	Additional restrictions apply if the owner of the object has uid 0
167*7c478bd9Sstevel@tonic-gate	and the effective uid of the current process is not 0.
168*7c478bd9Sstevel@tonic-gate
169*7c478bd9Sstevel@tonic-gateprivilege PRIV_IPC_OWNER
170*7c478bd9Sstevel@tonic-gate
171*7c478bd9Sstevel@tonic-gate	Allows a process which is not the owner of a System
172*7c478bd9Sstevel@tonic-gate	V IPC Message Queue, Semaphore Set, or Shared Memory Segment to
173*7c478bd9Sstevel@tonic-gate	remove, change ownership of, or change permission bits of the
174*7c478bd9Sstevel@tonic-gate	Message Queue, Semaphore Set, or Shared Memory Segment.
175*7c478bd9Sstevel@tonic-gate	Additional restrictions apply if the owner of the object has uid 0
176*7c478bd9Sstevel@tonic-gate	and the effective uid of the current process is not 0.
177*7c478bd9Sstevel@tonic-gate
178*7c478bd9Sstevel@tonic-gateprivilege PRIV_NET_ICMPACCESS
179*7c478bd9Sstevel@tonic-gate
180*7c478bd9Sstevel@tonic-gate	Allows a process to send and receive ICMP packets.
181*7c478bd9Sstevel@tonic-gate
182*7c478bd9Sstevel@tonic-gateprivilege PRIV_NET_PRIVADDR
183*7c478bd9Sstevel@tonic-gate
184*7c478bd9Sstevel@tonic-gate	Allows a process to bind to a privileged port
185*7c478bd9Sstevel@tonic-gate	number. The privilege port numbers are 1-1023 (the traditional
186*7c478bd9Sstevel@tonic-gate	UNIX privileged ports) as well as those ports marked as
187*7c478bd9Sstevel@tonic-gate	"udp/tcp_extra_priv_ports" with the exception of the ports
188*7c478bd9Sstevel@tonic-gate	reserved for use by NFS.
189*7c478bd9Sstevel@tonic-gate
190*7c478bd9Sstevel@tonic-gateprivilege PRIV_NET_RAWACCESS
191*7c478bd9Sstevel@tonic-gate
192*7c478bd9Sstevel@tonic-gate	Allows a process to have direct access to the network layer.
193*7c478bd9Sstevel@tonic-gate
194*7c478bd9Sstevel@tonic-gateunsafe privilege PRIV_PROC_AUDIT
195*7c478bd9Sstevel@tonic-gate
196*7c478bd9Sstevel@tonic-gate	Allows a process to generate audit records.
197*7c478bd9Sstevel@tonic-gate	Allows a process to get its own audit pre-selection information.
198*7c478bd9Sstevel@tonic-gate
199*7c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_CHROOT
200*7c478bd9Sstevel@tonic-gate
201*7c478bd9Sstevel@tonic-gate	Allows a process to change its root directory.
202*7c478bd9Sstevel@tonic-gate
203*7c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_CLOCK_HIGHRES
204*7c478bd9Sstevel@tonic-gate
205*7c478bd9Sstevel@tonic-gate	Allows a process to use high resolution timers.
206*7c478bd9Sstevel@tonic-gate
207*7c478bd9Sstevel@tonic-gatebasic privilege PRIV_PROC_EXEC
208*7c478bd9Sstevel@tonic-gate
209*7c478bd9Sstevel@tonic-gate	Allows a process to call execve().
210*7c478bd9Sstevel@tonic-gate
211*7c478bd9Sstevel@tonic-gatebasic privilege PRIV_PROC_FORK
212*7c478bd9Sstevel@tonic-gate
213*7c478bd9Sstevel@tonic-gate	Allows a process to call fork1()/forkall()/vfork()
214*7c478bd9Sstevel@tonic-gate
215*7c478bd9Sstevel@tonic-gatebasic privilege PRIV_PROC_INFO
216*7c478bd9Sstevel@tonic-gate
217*7c478bd9Sstevel@tonic-gate	Allows a process to examine the status of processes other
218*7c478bd9Sstevel@tonic-gate	than those it can send signals to.  Processes which cannot
219*7c478bd9Sstevel@tonic-gate	be examined cannot be seen in /proc and appear not to exist.
220*7c478bd9Sstevel@tonic-gate
221*7c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_LOCK_MEMORY
222*7c478bd9Sstevel@tonic-gate
223*7c478bd9Sstevel@tonic-gate	Allows a process to lock pages in physical memory.
224*7c478bd9Sstevel@tonic-gate
225*7c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_OWNER
226*7c478bd9Sstevel@tonic-gate
227*7c478bd9Sstevel@tonic-gate	Allows a process to send signals to other processes, inspect
228*7c478bd9Sstevel@tonic-gate	and modify process state to other processes regardless of
229*7c478bd9Sstevel@tonic-gate	ownership.  When modifying another process, additional
230*7c478bd9Sstevel@tonic-gate	restrictions apply:  the effective privilege set of the
231*7c478bd9Sstevel@tonic-gate	attaching process must be a superset of the target process'
232*7c478bd9Sstevel@tonic-gate	effective, permitted and inheritable sets; the limit set must
233*7c478bd9Sstevel@tonic-gate	be a superset of the target's limit set; if the target process
234*7c478bd9Sstevel@tonic-gate	has any uid set to 0 all privilege must be asserted unless the
235*7c478bd9Sstevel@tonic-gate	effective uid is 0.
236*7c478bd9Sstevel@tonic-gate	Allows a process to bind arbitrary processes to CPUs.
237*7c478bd9Sstevel@tonic-gate
238*7c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_PRIOCNTL
239*7c478bd9Sstevel@tonic-gate
240*7c478bd9Sstevel@tonic-gate	Allows a process to elevate its priority above its current level.
241*7c478bd9Sstevel@tonic-gate	Allows a process to change its scheduling class to any scheduling class,
242*7c478bd9Sstevel@tonic-gate	including the RT class.
243*7c478bd9Sstevel@tonic-gate
244*7c478bd9Sstevel@tonic-gatebasic privilege PRIV_PROC_SESSION
245*7c478bd9Sstevel@tonic-gate
246*7c478bd9Sstevel@tonic-gate	Allows a process to send signals or trace processes outside its
247*7c478bd9Sstevel@tonic-gate	session.
248*7c478bd9Sstevel@tonic-gate
249*7c478bd9Sstevel@tonic-gateunsafe privilege PRIV_PROC_SETID
250*7c478bd9Sstevel@tonic-gate
251*7c478bd9Sstevel@tonic-gate	Allows a process to set its uids at will.
252*7c478bd9Sstevel@tonic-gate	Assuming uid 0 requires all privileges to be asserted.
253*7c478bd9Sstevel@tonic-gate
254*7c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_TASKID
255*7c478bd9Sstevel@tonic-gate
256*7c478bd9Sstevel@tonic-gate	Allows a process to assign a new task ID to the calling process.
257*7c478bd9Sstevel@tonic-gate
258*7c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_ZONE
259*7c478bd9Sstevel@tonic-gate
260*7c478bd9Sstevel@tonic-gate	Allows a process to trace or send signals to processes in
261*7c478bd9Sstevel@tonic-gate	other zones.
262*7c478bd9Sstevel@tonic-gate
263*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_ACCT
264*7c478bd9Sstevel@tonic-gate
265*7c478bd9Sstevel@tonic-gate	Allows a process to enable and disable and manage accounting through
266*7c478bd9Sstevel@tonic-gate	acct(2), getacct(2), putacct(2) and wracct(2).
267*7c478bd9Sstevel@tonic-gate
268*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_ADMIN
269*7c478bd9Sstevel@tonic-gate
270*7c478bd9Sstevel@tonic-gate	Allows a process to perform system administration tasks such
271*7c478bd9Sstevel@tonic-gate	as setting node and domain name and specifying nscd and coreadm
272*7c478bd9Sstevel@tonic-gate	settings.
273*7c478bd9Sstevel@tonic-gate
274*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_AUDIT
275*7c478bd9Sstevel@tonic-gate
276*7c478bd9Sstevel@tonic-gate	Allows a process to start the (kernel) audit daemon.
277*7c478bd9Sstevel@tonic-gate	Allows a process to view and set audit state (audit user ID,
278*7c478bd9Sstevel@tonic-gate	audit terminal ID, audit sessions ID, audit pre-selection mask).
279*7c478bd9Sstevel@tonic-gate	Allows a process to turn off and on auditing.
280*7c478bd9Sstevel@tonic-gate	Allows a process to configure the audit parameters (cache and
281*7c478bd9Sstevel@tonic-gate	queue sizes, event to class mappings, policy options).
282*7c478bd9Sstevel@tonic-gate
283*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_CONFIG
284*7c478bd9Sstevel@tonic-gate
285*7c478bd9Sstevel@tonic-gate	Allows a process to perform various system configuration tasks.
286*7c478bd9Sstevel@tonic-gate	Allows a process to add and remove swap devices; when adding a swap
287*7c478bd9Sstevel@tonic-gate	device, a process must also have sufficient privileges to read from
288*7c478bd9Sstevel@tonic-gate	and write to the swap device.
289*7c478bd9Sstevel@tonic-gate
290*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_DEVICES
291*7c478bd9Sstevel@tonic-gate
292*7c478bd9Sstevel@tonic-gate	Allows a process to successfully call a kernel module that
293*7c478bd9Sstevel@tonic-gate	calls the kernel drv_priv(9F) function to check for allowed
294*7c478bd9Sstevel@tonic-gate	access.
295*7c478bd9Sstevel@tonic-gate	Allows a process to open the real console device directly.
296*7c478bd9Sstevel@tonic-gate	Allows a process to open devices that have been exclusively opened.
297*7c478bd9Sstevel@tonic-gate
298*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_IPC_CONFIG
299*7c478bd9Sstevel@tonic-gate
300*7c478bd9Sstevel@tonic-gate	Allows a process to increase the size of a System V IPC Message
301*7c478bd9Sstevel@tonic-gate	Queue buffer.
302*7c478bd9Sstevel@tonic-gate
303*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_LINKDIR
304*7c478bd9Sstevel@tonic-gate
305*7c478bd9Sstevel@tonic-gate	Allows a process to unlink and link directories.
306*7c478bd9Sstevel@tonic-gate
307*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_MOUNT
308*7c478bd9Sstevel@tonic-gate
309*7c478bd9Sstevel@tonic-gate	Allows filesystem specific administrative procedures, such as
310*7c478bd9Sstevel@tonic-gate	filesystem configuration ioctls, quota calls and creation/deletion
311*7c478bd9Sstevel@tonic-gate	of snapshots.
312*7c478bd9Sstevel@tonic-gate	Allows a process to mount and unmount filesystems which would
313*7c478bd9Sstevel@tonic-gate	otherwise be restricted (i.e., most filesystems except
314*7c478bd9Sstevel@tonic-gate	namefs).
315*7c478bd9Sstevel@tonic-gate	A process performing a mount operation needs to have
316*7c478bd9Sstevel@tonic-gate	appropriate access to the device being mounted (read-write for
317*7c478bd9Sstevel@tonic-gate	"rw" mounts, read for "ro" mounts).
318*7c478bd9Sstevel@tonic-gate	A process performing any of the aforementioned
319*7c478bd9Sstevel@tonic-gate	filesystem operations needs to have read/write/owner
320*7c478bd9Sstevel@tonic-gate	access to the mount point.
321*7c478bd9Sstevel@tonic-gate	Only regular files and directories can serve as mount points
322*7c478bd9Sstevel@tonic-gate	for processes which do not have all zone privileges asserted.
323*7c478bd9Sstevel@tonic-gate	Unless a process has all zone privileges, the mount(2)
324*7c478bd9Sstevel@tonic-gate	system call will force the "nosuid" and "restrict" options, the
325*7c478bd9Sstevel@tonic-gate	latter only for autofs mountpoints.
326*7c478bd9Sstevel@tonic-gate	Regardless of privileges, a process running in a non-global zone may
327*7c478bd9Sstevel@tonic-gate	only control mounts performed from within said zone.
328*7c478bd9Sstevel@tonic-gate	Outside the global zone, the "nodevices" option is always forced.
329*7c478bd9Sstevel@tonic-gate
330*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_NET_CONFIG
331*7c478bd9Sstevel@tonic-gate
332*7c478bd9Sstevel@tonic-gate	Allows a process to configure a system's network interfaces and routes.
333*7c478bd9Sstevel@tonic-gate	Allows a process to configure network parameters using ndd.
334*7c478bd9Sstevel@tonic-gate	Allows a process access to otherwise restricted information using ndd.
335*7c478bd9Sstevel@tonic-gate	Allows a process to push the rpcmod STREAMs module.
336*7c478bd9Sstevel@tonic-gate	Allows a process to pop anchored STREAMs modules.
337*7c478bd9Sstevel@tonic-gate	Allows a process to INSERT/REMOVE STREAMs modules on locations other
338*7c478bd9Sstevel@tonic-gate	than the top of the module stack.
339*7c478bd9Sstevel@tonic-gate	Allows a process to configure IPsec.
340*7c478bd9Sstevel@tonic-gate
341*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_NFS
342*7c478bd9Sstevel@tonic-gate
343*7c478bd9Sstevel@tonic-gate	Allows a process to perform Sun private NFS specific system calls.
344*7c478bd9Sstevel@tonic-gate	Allows a process to bind to ports reserved by NFS: ports 2049 (nfs)
345*7c478bd9Sstevel@tonic-gate	and port 4045 (lockd).
346*7c478bd9Sstevel@tonic-gate
347*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_RES_CONFIG
348*7c478bd9Sstevel@tonic-gate
349*7c478bd9Sstevel@tonic-gate	Allows a process to create and delete processor sets, assign
350*7c478bd9Sstevel@tonic-gate	CPUs to processor sets and override the PSET_NOESCAPE property.
351*7c478bd9Sstevel@tonic-gate	Allows a process to change the operational status of CPUs in
352*7c478bd9Sstevel@tonic-gate	the system using p_online(2).
353*7c478bd9Sstevel@tonic-gate	Allows a process to configure resource pools and to bind
354*7c478bd9Sstevel@tonic-gate	processes to pools
355*7c478bd9Sstevel@tonic-gate
356*7c478bd9Sstevel@tonic-gateunsafe privilege PRIV_SYS_RESOURCE
357*7c478bd9Sstevel@tonic-gate
358*7c478bd9Sstevel@tonic-gate	Allows a process to modify the resource limits specified
359*7c478bd9Sstevel@tonic-gate	by setrlimit(2) and setrctl(2) without restriction.
360*7c478bd9Sstevel@tonic-gate	Allows a process to exceed the per-user maximum number of
361*7c478bd9Sstevel@tonic-gate	processes.
362*7c478bd9Sstevel@tonic-gate	Allows a process to extend or create files on a filesystem that
363*7c478bd9Sstevel@tonic-gate	has less than minfree space in reserve.
364*7c478bd9Sstevel@tonic-gate
365*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_SUSER_COMPAT
366*7c478bd9Sstevel@tonic-gate
367*7c478bd9Sstevel@tonic-gate	Allows a process to successfully call a third party loadable module
368*7c478bd9Sstevel@tonic-gate	that calls the kernel suser() function to check for allowed access.
369*7c478bd9Sstevel@tonic-gate	This privilege exists only for third party loadable module
370*7c478bd9Sstevel@tonic-gate	compatibility and is not used by Solaris proper.
371*7c478bd9Sstevel@tonic-gate
372*7c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_TIME
373*7c478bd9Sstevel@tonic-gate
374*7c478bd9Sstevel@tonic-gate	Allows a process to manipulate system time using any of the
375*7c478bd9Sstevel@tonic-gate	appropriate system calls: stime, adjtime, ntp_adjtime and
376*7c478bd9Sstevel@tonic-gate	the IA specific RTC calls.
377*7c478bd9Sstevel@tonic-gateset PRIV_EFFECTIVE
378*7c478bd9Sstevel@tonic-gate
379*7c478bd9Sstevel@tonic-gate	Set of privileges currently in effect.
380*7c478bd9Sstevel@tonic-gate
381*7c478bd9Sstevel@tonic-gateset PRIV_INHERITABLE
382*7c478bd9Sstevel@tonic-gate
383*7c478bd9Sstevel@tonic-gate	Set of privileges that comes into effect on exec.
384*7c478bd9Sstevel@tonic-gate
385*7c478bd9Sstevel@tonic-gateset PRIV_PERMITTED
386*7c478bd9Sstevel@tonic-gate
387*7c478bd9Sstevel@tonic-gate	Set of privileges that can be put into the effective set without
388*7c478bd9Sstevel@tonic-gate	restriction.
389*7c478bd9Sstevel@tonic-gate
390*7c478bd9Sstevel@tonic-gateset PRIV_LIMIT
391*7c478bd9Sstevel@tonic-gate
392*7c478bd9Sstevel@tonic-gate	Set of privileges that determines the absolute upper bound of
393*7c478bd9Sstevel@tonic-gate	privileges this process and its off-spring can obtain.
394