xref: /onnv-gate/usr/src/uts/common/os/priv_defs (revision 12494:15439b11d535)
10Sstevel@tonic-gate/*
20Sstevel@tonic-gate * CDDL HEADER START
30Sstevel@tonic-gate *
40Sstevel@tonic-gate * The contents of this file are subject to the terms of the
51676Sjpk * Common Development and Distribution License (the "License").
61676Sjpk * You may not use this file except in compliance with the License.
70Sstevel@tonic-gate *
80Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
90Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing.
100Sstevel@tonic-gate * See the License for the specific language governing permissions
110Sstevel@tonic-gate * and limitations under the License.
120Sstevel@tonic-gate *
130Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each
140Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
150Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the
160Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying
170Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner]
180Sstevel@tonic-gate *
190Sstevel@tonic-gate * CDDL HEADER END
200Sstevel@tonic-gate */
210Sstevel@tonic-gate/*
2212273SCasper.Dik@Sun.COM * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
230Sstevel@tonic-gate *
240Sstevel@tonic-gateINSERT COMMENT
250Sstevel@tonic-gate */
260Sstevel@tonic-gate
270Sstevel@tonic-gate#
280Sstevel@tonic-gate# Privileges can be added to this file at any location, not
290Sstevel@tonic-gate# necessarily at the end.  For patches, it is probably best to
300Sstevel@tonic-gate# add the new privilege at the end; for ordinary releases privileges
310Sstevel@tonic-gate# should be ordered alphabetically.
320Sstevel@tonic-gate#
330Sstevel@tonic-gate
340Sstevel@tonic-gateprivilege PRIV_CONTRACT_EVENT
350Sstevel@tonic-gate
360Sstevel@tonic-gate	Allows a process to request critical events without limitation.
370Sstevel@tonic-gate	Allows a process to request reliable delivery of all events on
380Sstevel@tonic-gate	any event queue.
390Sstevel@tonic-gate
406073Sacruzprivilege PRIV_CONTRACT_IDENTITY
416784Sjohnlev
426073Sacruz	Allows a process to set the service FMRI value of a process
436073Sacruz	contract template.
446073Sacruz
450Sstevel@tonic-gateprivilege PRIV_CONTRACT_OBSERVER
460Sstevel@tonic-gate
470Sstevel@tonic-gate	Allows a process to observe contract events generated by
480Sstevel@tonic-gate	contracts created and owned by users other than the process's
490Sstevel@tonic-gate	effective user ID.
500Sstevel@tonic-gate	Allows a process to open contract event endpoints belonging to
510Sstevel@tonic-gate	contracts created and owned by users other than the process's
520Sstevel@tonic-gate	effective user ID.
530Sstevel@tonic-gate
540Sstevel@tonic-gateprivilege PRIV_CPC_CPU
550Sstevel@tonic-gate
560Sstevel@tonic-gate	Allow a process to access per-CPU hardware performance counters.
570Sstevel@tonic-gate
580Sstevel@tonic-gateprivilege PRIV_DTRACE_KERNEL
590Sstevel@tonic-gate
600Sstevel@tonic-gate	Allows DTrace kernel-level tracing.
610Sstevel@tonic-gate
620Sstevel@tonic-gateprivilege PRIV_DTRACE_PROC
630Sstevel@tonic-gate
640Sstevel@tonic-gate	Allows DTrace process-level tracing.
650Sstevel@tonic-gate	Allows process-level tracing probes to be placed and enabled in
660Sstevel@tonic-gate	processes to which the user has permissions.
670Sstevel@tonic-gate
680Sstevel@tonic-gateprivilege PRIV_DTRACE_USER
690Sstevel@tonic-gate
700Sstevel@tonic-gate	Allows DTrace user-level tracing.
710Sstevel@tonic-gate	Allows use of the syscall and profile DTrace providers to
720Sstevel@tonic-gate	examine processes to which the user has permissions.
730Sstevel@tonic-gate
740Sstevel@tonic-gateprivilege PRIV_FILE_CHOWN
750Sstevel@tonic-gate
760Sstevel@tonic-gate	Allows a process to change a file's owner user ID.
770Sstevel@tonic-gate	Allows a process to change a file's group ID to one other than
780Sstevel@tonic-gate	the process' effective group ID or one of the process'
790Sstevel@tonic-gate	supplemental group IDs.
800Sstevel@tonic-gate
810Sstevel@tonic-gateprivilege PRIV_FILE_CHOWN_SELF
820Sstevel@tonic-gate
830Sstevel@tonic-gate	Allows a process to give away its files; a process with this
840Sstevel@tonic-gate	privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not
850Sstevel@tonic-gate	in effect.
860Sstevel@tonic-gate
870Sstevel@tonic-gateprivilege PRIV_FILE_DAC_EXECUTE
880Sstevel@tonic-gate
890Sstevel@tonic-gate	Allows a process to execute an executable file whose permission
900Sstevel@tonic-gate	bits or ACL do not allow the process execute permission.
910Sstevel@tonic-gate
920Sstevel@tonic-gateprivilege PRIV_FILE_DAC_READ
930Sstevel@tonic-gate
940Sstevel@tonic-gate	Allows a process to read a file or directory whose permission
950Sstevel@tonic-gate	bits or ACL do not allow the process read permission.
960Sstevel@tonic-gate
970Sstevel@tonic-gateprivilege PRIV_FILE_DAC_SEARCH
980Sstevel@tonic-gate
990Sstevel@tonic-gate	Allows a process to search a directory whose permission bits or
1000Sstevel@tonic-gate	ACL do not allow the process search permission.
1010Sstevel@tonic-gate
1020Sstevel@tonic-gateprivilege PRIV_FILE_DAC_WRITE
1030Sstevel@tonic-gate
1040Sstevel@tonic-gate	Allows a process to write a file or directory whose permission
1050Sstevel@tonic-gate	bits or ACL do not allow the process write permission.
1060Sstevel@tonic-gate	In order to write files owned by uid 0 in the absence of an
1070Sstevel@tonic-gate	effective uid of 0 ALL privileges are required.
1080Sstevel@tonic-gate
1091676Sjpkprivilege PRIV_FILE_DOWNGRADE_SL
1101676Sjpk
1111676Sjpk	Allows a process to set the sensitivity label of a file or
1121676Sjpk	directory to a sensitivity label that does not dominate the
1131676Sjpk	existing sensitivity label.
1141676Sjpk	This privilege is interpreted only if the system is configured
1151676Sjpk	with Trusted Extensions.
1161676Sjpk
11711537SCasper.Dik@Sun.COMprivilege PRIV_FILE_FLAG_SET
11811537SCasper.Dik@Sun.COM
11911537SCasper.Dik@Sun.COM	Allows a process to set immutable, nounlink or appendonly
12011537SCasper.Dik@Sun.COM	file attributes.
12111537SCasper.Dik@Sun.COM
1220Sstevel@tonic-gatebasic privilege PRIV_FILE_LINK_ANY
1230Sstevel@tonic-gate
1240Sstevel@tonic-gate	Allows a process to create hardlinks to files owned by a uid
1250Sstevel@tonic-gate	different from the process' effective uid.
1260Sstevel@tonic-gate
1270Sstevel@tonic-gateprivilege PRIV_FILE_OWNER
1280Sstevel@tonic-gate
1290Sstevel@tonic-gate	Allows a process which is not the owner of a file or directory
1300Sstevel@tonic-gate	to perform the following operations that are normally permitted
1310Sstevel@tonic-gate	only for the file owner: modify that file's access and
1320Sstevel@tonic-gate	modification times; remove or rename a file or directory whose
1330Sstevel@tonic-gate	parent directory has the ``save text image after execution''
1340Sstevel@tonic-gate	(sticky) bit set; mount a ``namefs'' upon a file; modify
1350Sstevel@tonic-gate	permission bits or ACL except for the set-uid and set-gid
1360Sstevel@tonic-gate	bits.
1370Sstevel@tonic-gate
13812273SCasper.Dik@Sun.COMbasic privilege PRIV_FILE_READ
13912273SCasper.Dik@Sun.COM
14012273SCasper.Dik@Sun.COM	Allows a process to read objects in the filesystem.
14112273SCasper.Dik@Sun.COM
1420Sstevel@tonic-gateprivilege PRIV_FILE_SETID
1430Sstevel@tonic-gate
1440Sstevel@tonic-gate	Allows a process to change the ownership of a file or write to
1450Sstevel@tonic-gate	a file without the set-user-ID and set-group-ID bits being
1460Sstevel@tonic-gate	cleared.
1470Sstevel@tonic-gate	Allows a process to set the set-group-ID bit on a file or
1480Sstevel@tonic-gate	directory whose group is not the process' effective group or
1490Sstevel@tonic-gate	one of the process' supplemental groups.
1500Sstevel@tonic-gate	Allows a process to set the set-user-ID bit on a file with
1510Sstevel@tonic-gate	different ownership in the presence of PRIV_FILE_OWNER.
1520Sstevel@tonic-gate	Additional restrictions apply when creating or modifying a
1530Sstevel@tonic-gate	set-uid 0 file.
1540Sstevel@tonic-gate
1551676Sjpkprivilege PRIV_FILE_UPGRADE_SL
1561676Sjpk
1571676Sjpk	Allows a process to set the sensitivity label of a file or
1581676Sjpk	directory to a sensitivity label that dominates the existing
1591676Sjpk	sensitivity label.
1601676Sjpk	This privilege is interpreted only if the system is configured
1611676Sjpk	with Trusted Extensions.
1621676Sjpk
16312273SCasper.Dik@Sun.COMbasic privilege PRIV_FILE_WRITE
16412273SCasper.Dik@Sun.COM
16512273SCasper.Dik@Sun.COM	Allows a process to modify objects in the filesystem.
16612273SCasper.Dik@Sun.COM
1671862Scasperprivilege PRIV_GRAPHICS_ACCESS
1680Sstevel@tonic-gate
1691862Scasper	Allows a process to make privileged ioctls to graphics devices.
1701862Scasper	Typically only xserver process needs to have this privilege.
1711862Scasper	A process with this privilege is also allowed to perform
1721862Scasper	privileged graphics device mappings.
1730Sstevel@tonic-gate
1741862Scasperprivilege PRIV_GRAPHICS_MAP
17511537SCasper.Dik@Sun.COM
1761862Scasper	Allows a process to perform privileged mappings through a
1771862Scasper	graphics device.
1780Sstevel@tonic-gate
1790Sstevel@tonic-gateprivilege PRIV_IPC_DAC_READ
1800Sstevel@tonic-gate
1810Sstevel@tonic-gate	Allows a process to read a System V IPC
1820Sstevel@tonic-gate	Message Queue, Semaphore Set, or Shared Memory Segment whose
1830Sstevel@tonic-gate	permission bits do not allow the process read permission.
1840Sstevel@tonic-gate	Allows a process to read remote shared memory whose
1850Sstevel@tonic-gate	permission bits do not allow the process read permission.
1860Sstevel@tonic-gate
1870Sstevel@tonic-gateprivilege PRIV_IPC_DAC_WRITE
1880Sstevel@tonic-gate
1890Sstevel@tonic-gate	Allows a process to write a System V IPC
1900Sstevel@tonic-gate	Message Queue, Semaphore Set, or Shared Memory Segment whose
1910Sstevel@tonic-gate	permission bits do not allow the process write permission.
1920Sstevel@tonic-gate	Allows a process to read remote shared memory whose
1930Sstevel@tonic-gate	permission bits do not allow the process write permission.
1940Sstevel@tonic-gate	Additional restrictions apply if the owner of the object has uid 0
1950Sstevel@tonic-gate	and the effective uid of the current process is not 0.
1960Sstevel@tonic-gate
1970Sstevel@tonic-gateprivilege PRIV_IPC_OWNER
1980Sstevel@tonic-gate
1990Sstevel@tonic-gate	Allows a process which is not the owner of a System
2000Sstevel@tonic-gate	V IPC Message Queue, Semaphore Set, or Shared Memory Segment to
2010Sstevel@tonic-gate	remove, change ownership of, or change permission bits of the
2020Sstevel@tonic-gate	Message Queue, Semaphore Set, or Shared Memory Segment.
2030Sstevel@tonic-gate	Additional restrictions apply if the owner of the object has uid 0
2040Sstevel@tonic-gate	and the effective uid of the current process is not 0.
2050Sstevel@tonic-gate
20611537SCasper.Dik@Sun.COMbasic privilege PRIV_NET_ACCESS
20711537SCasper.Dik@Sun.COM
20811537SCasper.Dik@Sun.COM	Allows a process to open a TCP, UDP, SDP or SCTP network endpoint.
20911537SCasper.Dik@Sun.COM
2101676Sjpkprivilege PRIV_NET_BINDMLP
2111676Sjpk
2121676Sjpk	Allow a process to bind to a port that is configured as a
2131676Sjpk	multi-level port(MLP) for the process's zone. This privilege
2141676Sjpk	applies to both shared address and zone-specific address MLPs.
2151676Sjpk	See tnzonecfg(4) from the Trusted Extensions manual pages for
2161676Sjpk	information on configuring MLP ports.
2171676Sjpk	This privilege is interpreted only if the system is configured
2181676Sjpk	with Trusted Extensions.
2191676Sjpk
2200Sstevel@tonic-gateprivilege PRIV_NET_ICMPACCESS
2210Sstevel@tonic-gate
2220Sstevel@tonic-gate	Allows a process to send and receive ICMP packets.
2230Sstevel@tonic-gate
2241676Sjpkprivilege PRIV_NET_MAC_AWARE
2251676Sjpk
22611537SCasper.Dik@Sun.COM	Allows a process to set NET_MAC_AWARE process flag by using
2271676Sjpk	setpflags(2). This privilege also allows a process to set
2281676Sjpk	SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET).
2291676Sjpk	The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket
2301676Sjpk	option both allow a local process to communicate with an
2311676Sjpk	unlabeled peer if the local process' label dominates the
2321676Sjpk	peer's default label, or if the local process runs in the
2331676Sjpk	global zone.
2341676Sjpk	This privilege is interpreted only if the system is configured
2351676Sjpk	with Trusted Extensions.
2361676Sjpk
23710934Ssommerfeld@sun.comprivilege PRIV_NET_MAC_IMPLICIT
23810934Ssommerfeld@sun.com
23910934Ssommerfeld@sun.com	Allows a process to set SO_MAC_IMPLICIT option by using
24010934Ssommerfeld@sun.com	setsockopt(3SOCKET).  This allows a privileged process to
24110934Ssommerfeld@sun.com	transmit implicitly-labeled packets to a peer.
24210934Ssommerfeld@sun.com	This privilege is interpreted only if the system is configured
24310934Ssommerfeld@sun.com	with Trusted Extensions.
24410934Ssommerfeld@sun.com
2458023SPhil.Kirk@Sun.COMprivilege PRIV_NET_OBSERVABILITY
2468023SPhil.Kirk@Sun.COM
2478023SPhil.Kirk@Sun.COM	Allows a process to access /dev/lo0 and the devices in /dev/ipnet/
2488023SPhil.Kirk@Sun.COM	while not requiring them to need PRIV_NET_RAWACCESS.
2498023SPhil.Kirk@Sun.COM
2500Sstevel@tonic-gateprivilege PRIV_NET_PRIVADDR
2510Sstevel@tonic-gate
2520Sstevel@tonic-gate	Allows a process to bind to a privileged port
2530Sstevel@tonic-gate	number. The privilege port numbers are 1-1023 (the traditional
2540Sstevel@tonic-gate	UNIX privileged ports) as well as those ports marked as
2550Sstevel@tonic-gate	"udp/tcp_extra_priv_ports" with the exception of the ports
2560Sstevel@tonic-gate	reserved for use by NFS.
2570Sstevel@tonic-gate
2580Sstevel@tonic-gateprivilege PRIV_NET_RAWACCESS
2590Sstevel@tonic-gate
2600Sstevel@tonic-gate	Allows a process to have direct access to the network layer.
2610Sstevel@tonic-gate
2620Sstevel@tonic-gateunsafe privilege PRIV_PROC_AUDIT
2630Sstevel@tonic-gate
2640Sstevel@tonic-gate	Allows a process to generate audit records.
2650Sstevel@tonic-gate	Allows a process to get its own audit pre-selection information.
2660Sstevel@tonic-gate
2670Sstevel@tonic-gateprivilege PRIV_PROC_CHROOT
2680Sstevel@tonic-gate
2690Sstevel@tonic-gate	Allows a process to change its root directory.
2700Sstevel@tonic-gate
2710Sstevel@tonic-gateprivilege PRIV_PROC_CLOCK_HIGHRES
2720Sstevel@tonic-gate
2730Sstevel@tonic-gate	Allows a process to use high resolution timers.
2740Sstevel@tonic-gate
2750Sstevel@tonic-gatebasic privilege PRIV_PROC_EXEC
2760Sstevel@tonic-gate
2770Sstevel@tonic-gate	Allows a process to call execve().
2780Sstevel@tonic-gate
2790Sstevel@tonic-gatebasic privilege PRIV_PROC_FORK
2800Sstevel@tonic-gate
2810Sstevel@tonic-gate	Allows a process to call fork1()/forkall()/vfork()
2820Sstevel@tonic-gate
2830Sstevel@tonic-gatebasic privilege PRIV_PROC_INFO
28411537SCasper.Dik@Sun.COM
2850Sstevel@tonic-gate	Allows a process to examine the status of processes other
2860Sstevel@tonic-gate	than those it can send signals to.  Processes which cannot
2870Sstevel@tonic-gate	be examined cannot be seen in /proc and appear not to exist.
2880Sstevel@tonic-gate
2890Sstevel@tonic-gateprivilege PRIV_PROC_LOCK_MEMORY
2900Sstevel@tonic-gate
2910Sstevel@tonic-gate	Allows a process to lock pages in physical memory.
2920Sstevel@tonic-gate
2930Sstevel@tonic-gateprivilege PRIV_PROC_OWNER
2940Sstevel@tonic-gate
2950Sstevel@tonic-gate	Allows a process to send signals to other processes, inspect
2960Sstevel@tonic-gate	and modify process state to other processes regardless of
2970Sstevel@tonic-gate	ownership.  When modifying another process, additional
2980Sstevel@tonic-gate	restrictions apply:  the effective privilege set of the
2990Sstevel@tonic-gate	attaching process must be a superset of the target process'
3000Sstevel@tonic-gate	effective, permitted and inheritable sets; the limit set must
3010Sstevel@tonic-gate	be a superset of the target's limit set; if the target process
3020Sstevel@tonic-gate	has any uid set to 0 all privilege must be asserted unless the
3030Sstevel@tonic-gate	effective uid is 0.
3040Sstevel@tonic-gate	Allows a process to bind arbitrary processes to CPUs.
3050Sstevel@tonic-gate
3060Sstevel@tonic-gateprivilege PRIV_PROC_PRIOCNTL
3070Sstevel@tonic-gate
3080Sstevel@tonic-gate	Allows a process to elevate its priority above its current level.
3090Sstevel@tonic-gate	Allows a process to change its scheduling class to any scheduling class,
3100Sstevel@tonic-gate	including the RT class.
3110Sstevel@tonic-gate
3120Sstevel@tonic-gatebasic privilege PRIV_PROC_SESSION
3130Sstevel@tonic-gate
3140Sstevel@tonic-gate	Allows a process to send signals or trace processes outside its
3150Sstevel@tonic-gate	session.
3160Sstevel@tonic-gate
3170Sstevel@tonic-gateunsafe privilege PRIV_PROC_SETID
3180Sstevel@tonic-gate
3190Sstevel@tonic-gate	Allows a process to set its uids at will.
3200Sstevel@tonic-gate	Assuming uid 0 requires all privileges to be asserted.
3210Sstevel@tonic-gate
3220Sstevel@tonic-gateprivilege PRIV_PROC_TASKID
3230Sstevel@tonic-gate
3240Sstevel@tonic-gate	Allows a process to assign a new task ID to the calling process.
3250Sstevel@tonic-gate
3260Sstevel@tonic-gateprivilege PRIV_PROC_ZONE
3270Sstevel@tonic-gate
3280Sstevel@tonic-gate	Allows a process to trace or send signals to processes in
3290Sstevel@tonic-gate	other zones.
3300Sstevel@tonic-gate
3310Sstevel@tonic-gateprivilege PRIV_SYS_ACCT
3320Sstevel@tonic-gate
3330Sstevel@tonic-gate	Allows a process to enable and disable and manage accounting through
3340Sstevel@tonic-gate	acct(2), getacct(2), putacct(2) and wracct(2).
3350Sstevel@tonic-gate
3360Sstevel@tonic-gateprivilege PRIV_SYS_ADMIN
3370Sstevel@tonic-gate
3380Sstevel@tonic-gate	Allows a process to perform system administration tasks such
3390Sstevel@tonic-gate	as setting node and domain name and specifying nscd and coreadm
3400Sstevel@tonic-gate	settings.
3410Sstevel@tonic-gate
3420Sstevel@tonic-gateprivilege PRIV_SYS_AUDIT
3430Sstevel@tonic-gate
3440Sstevel@tonic-gate	Allows a process to start the (kernel) audit daemon.
3450Sstevel@tonic-gate	Allows a process to view and set audit state (audit user ID,
3460Sstevel@tonic-gate	audit terminal ID, audit sessions ID, audit pre-selection mask).
3470Sstevel@tonic-gate	Allows a process to turn off and on auditing.
3480Sstevel@tonic-gate	Allows a process to configure the audit parameters (cache and
3490Sstevel@tonic-gate	queue sizes, event to class mappings, policy options).
3500Sstevel@tonic-gate
3510Sstevel@tonic-gateprivilege PRIV_SYS_CONFIG
3520Sstevel@tonic-gate
3530Sstevel@tonic-gate	Allows a process to perform various system configuration tasks.
3540Sstevel@tonic-gate	Allows a process to add and remove swap devices; when adding a swap
3550Sstevel@tonic-gate	device, a process must also have sufficient privileges to read from
3560Sstevel@tonic-gate	and write to the swap device.
3570Sstevel@tonic-gate
3580Sstevel@tonic-gateprivilege PRIV_SYS_DEVICES
3590Sstevel@tonic-gate
3600Sstevel@tonic-gate	Allows a process to successfully call a kernel module that
3610Sstevel@tonic-gate	calls the kernel drv_priv(9F) function to check for allowed
3620Sstevel@tonic-gate	access.
3630Sstevel@tonic-gate	Allows a process to open the real console device directly.
3640Sstevel@tonic-gate	Allows a process to open devices that have been exclusively opened.
3650Sstevel@tonic-gate
3660Sstevel@tonic-gateprivilege PRIV_SYS_IPC_CONFIG
36711537SCasper.Dik@Sun.COM
3680Sstevel@tonic-gate	Allows a process to increase the size of a System V IPC Message
3690Sstevel@tonic-gate	Queue buffer.
3700Sstevel@tonic-gate
3710Sstevel@tonic-gateprivilege PRIV_SYS_LINKDIR
3720Sstevel@tonic-gate
3730Sstevel@tonic-gate	Allows a process to unlink and link directories.
3740Sstevel@tonic-gate
3750Sstevel@tonic-gateprivilege PRIV_SYS_MOUNT
3760Sstevel@tonic-gate
3770Sstevel@tonic-gate	Allows filesystem specific administrative procedures, such as
3780Sstevel@tonic-gate	filesystem configuration ioctls, quota calls and creation/deletion
3790Sstevel@tonic-gate	of snapshots.
3800Sstevel@tonic-gate	Allows a process to mount and unmount filesystems which would
3810Sstevel@tonic-gate	otherwise be restricted (i.e., most filesystems except
38211537SCasper.Dik@Sun.COM	namefs).
3830Sstevel@tonic-gate	A process performing a mount operation needs to have
3840Sstevel@tonic-gate	appropriate access to the device being mounted (read-write for
3850Sstevel@tonic-gate	"rw" mounts, read for "ro" mounts).
3860Sstevel@tonic-gate	A process performing any of the aforementioned
3870Sstevel@tonic-gate	filesystem operations needs to have read/write/owner
3880Sstevel@tonic-gate	access to the mount point.
3890Sstevel@tonic-gate	Only regular files and directories can serve as mount points
3900Sstevel@tonic-gate	for processes which do not have all zone privileges asserted.
3910Sstevel@tonic-gate	Unless a process has all zone privileges, the mount(2)
3920Sstevel@tonic-gate	system call will force the "nosuid" and "restrict" options, the
3930Sstevel@tonic-gate	latter only for autofs mountpoints.
3940Sstevel@tonic-gate	Regardless of privileges, a process running in a non-global zone may
3950Sstevel@tonic-gate	only control mounts performed from within said zone.
3960Sstevel@tonic-gate	Outside the global zone, the "nodevices" option is always forced.
3970Sstevel@tonic-gate
39810616SSebastien.Roy@Sun.COMprivilege PRIV_SYS_IPTUN_CONFIG
39910616SSebastien.Roy@Sun.COM
40010616SSebastien.Roy@Sun.COM	Allows a process to configure IP tunnel links.
40110616SSebastien.Roy@Sun.COM
4027408SSebastien.Roy@Sun.COMprivilege PRIV_SYS_DL_CONFIG
4037408SSebastien.Roy@Sun.COM
40410616SSebastien.Roy@Sun.COM	Allows a process to configure all classes of datalinks, including
40510616SSebastien.Roy@Sun.COM	configuration allowed by PRIV_SYS_IPTUN_CONFIG.
4067408SSebastien.Roy@Sun.COM
4073448Sdh155122privilege PRIV_SYS_IP_CONFIG
4080Sstevel@tonic-gate
4097408SSebastien.Roy@Sun.COM	Allows a process to configure a system's IP interfaces and routes.
4100Sstevel@tonic-gate	Allows a process to configure network parameters using ndd.
4110Sstevel@tonic-gate	Allows a process access to otherwise restricted information using ndd.
4123448Sdh155122	Allows a process to configure IPsec.
4133448Sdh155122	Allows a process to pop anchored STREAMs modules with matching zoneid.
4143448Sdh155122
4153448Sdh155122privilege PRIV_SYS_NET_CONFIG
4163448Sdh155122
4179751Sjames.d.carlson@sun.com	Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and
4189751Sjames.d.carlson@sun.com	PRIV_SYS_PPP_CONFIG allow.
4190Sstevel@tonic-gate	Allows a process to push the rpcmod STREAMs module.
4200Sstevel@tonic-gate	Allows a process to INSERT/REMOVE STREAMs modules on locations other
4210Sstevel@tonic-gate	than the top of the module stack.
4220Sstevel@tonic-gate
4230Sstevel@tonic-gateprivilege PRIV_SYS_NFS
4240Sstevel@tonic-gate
4250Sstevel@tonic-gate	Allows a process to perform Sun private NFS specific system calls.
4260Sstevel@tonic-gate	Allows a process to bind to ports reserved by NFS: ports 2049 (nfs)
4270Sstevel@tonic-gate	and port 4045 (lockd).
4280Sstevel@tonic-gate
4299751Sjames.d.carlson@sun.comprivilege PRIV_SYS_PPP_CONFIG
4309751Sjames.d.carlson@sun.com
4319751Sjames.d.carlson@sun.com	Allows a process to create and destroy PPP (sppp) interfaces.
4329751Sjames.d.carlson@sun.com	Allows a process to configure PPP tunnels (sppptun).
4339751Sjames.d.carlson@sun.com
434*12494Sgerald.jelinek@sun.comprivilege PRIV_SYS_RES_BIND
435*12494Sgerald.jelinek@sun.com
436*12494Sgerald.jelinek@sun.com	Allows a process to bind processes to processor sets.
437*12494Sgerald.jelinek@sun.com
4380Sstevel@tonic-gateprivilege PRIV_SYS_RES_CONFIG
4390Sstevel@tonic-gate
440*12494Sgerald.jelinek@sun.com	Allows all that PRIV_SYS_RES_BIND allows.
4410Sstevel@tonic-gate	Allows a process to create and delete processor sets, assign
4420Sstevel@tonic-gate	CPUs to processor sets and override the PSET_NOESCAPE property.
4430Sstevel@tonic-gate	Allows a process to change the operational status of CPUs in
4440Sstevel@tonic-gate	the system using p_online(2).
4450Sstevel@tonic-gate	Allows a process to configure resource pools and to bind
4460Sstevel@tonic-gate	processes to pools
4470Sstevel@tonic-gate
4480Sstevel@tonic-gateunsafe privilege PRIV_SYS_RESOURCE
4490Sstevel@tonic-gate
4500Sstevel@tonic-gate	Allows a process to modify the resource limits specified
4510Sstevel@tonic-gate	by setrlimit(2) and setrctl(2) without restriction.
4520Sstevel@tonic-gate	Allows a process to exceed the per-user maximum number of
4530Sstevel@tonic-gate	processes.
4540Sstevel@tonic-gate	Allows a process to extend or create files on a filesystem that
4550Sstevel@tonic-gate	has less than minfree space in reserve.
4560Sstevel@tonic-gate
4575331Samwprivilege PRIV_SYS_SMB
4585331Samw
4595331Samw	Allows a process to access the Sun private SMB kernel module.
4605331Samw	Allows a process to bind to ports reserved by NetBIOS and SMB:
4615331Samw	ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS
4625331Samw	Session Service and SMB-over-NBT) and 445 (SMB-over-TCP).
4635331Samw
4640Sstevel@tonic-gateprivilege PRIV_SYS_SUSER_COMPAT
4650Sstevel@tonic-gate
4660Sstevel@tonic-gate	Allows a process to successfully call a third party loadable module
4670Sstevel@tonic-gate	that calls the kernel suser() function to check for allowed access.
4680Sstevel@tonic-gate	This privilege exists only for third party loadable module
4690Sstevel@tonic-gate	compatibility and is not used by Solaris proper.
4700Sstevel@tonic-gate
4710Sstevel@tonic-gateprivilege PRIV_SYS_TIME
4720Sstevel@tonic-gate
4730Sstevel@tonic-gate	Allows a process to manipulate system time using any of the
4740Sstevel@tonic-gate	appropriate system calls: stime, adjtime, ntp_adjtime and
4750Sstevel@tonic-gate	the IA specific RTC calls.
4761676Sjpk
4771676Sjpkprivilege PRIV_SYS_TRANS_LABEL
4781676Sjpk
4791676Sjpk	Allows a process to translate labels that are not dominated
4801676Sjpk	by the process' sensitivity label to and from an external
4811676Sjpk	string form.
4821676Sjpk	This privilege is interpreted only if the system is configured
4831676Sjpk	with Trusted Extensions.
4841676Sjpk
4856784Sjohnlevprivilege PRIV_VIRT_MANAGE
4866784Sjohnlev
4876784Sjohnlev	Allows a process to manage virtualized environments such as
4886784Sjohnlev	xVM(5).
4896784Sjohnlev
4901676Sjpkprivilege PRIV_WIN_COLORMAP
4911676Sjpk
4921676Sjpk	Allows a process to override colormap restrictions.
4931676Sjpk        Allows a process to install or remove colormaps.
4941676Sjpk        Allows a process to retrieve colormap cell entries allocated
4951676Sjpk	by other processes.
4961676Sjpk	This privilege is interpreted only if the system is configured
4971676Sjpk	with Trusted Extensions.
4981676Sjpk
4991676Sjpkprivilege PRIV_WIN_CONFIG
5001676Sjpk
5011676Sjpk	Allows a process to configure or destroy resources that are
5021676Sjpk	permanently retained by the X server.
5031676Sjpk        Allows a process to use SetScreenSaver to set the screen
5041676Sjpk	saver timeout value.
5051676Sjpk        Allows a process to use ChangeHosts to modify the display
5061676Sjpk	access control list.
5071676Sjpk        Allows a process to use GrabServer.
5081676Sjpk        Allows a process to use the SetCloseDownMode request which
5091676Sjpk	may retain window, pixmap, colormap, property, cursor, font,
5101676Sjpk	or graphic context resources.
5111676Sjpk	This privilege is interpreted only if the system is configured
5121676Sjpk	with Trusted Extensions.
5131676Sjpk
5141676Sjpkprivilege PRIV_WIN_DAC_READ
5151676Sjpk
5161676Sjpk	Allows a process to read from a window resource that it does
5171676Sjpk	not own (has a different user ID).
5181676Sjpk	This privilege is interpreted only if the system is configured
5191676Sjpk	with Trusted Extensions.
5201676Sjpk
5211676Sjpkprivilege PRIV_WIN_DAC_WRITE
5221676Sjpk
5231676Sjpk	Allows a process to write to or create a window resource that
5241676Sjpk	it does not own (has a different user ID). A newly created
5251676Sjpk	window property is created with the window's user ID.
5261676Sjpk	This privilege is interpreted only if the system is configured
5271676Sjpk	with Trusted Extensions.
5281676Sjpk
5291676Sjpkprivilege PRIV_WIN_DEVICES
5301676Sjpk
5311676Sjpk	Allows a process to perform operations on window input devices.
5321676Sjpk        Allows a process to get and set keyboard and pointer controls.
5331676Sjpk        Allows a process to modify pointer button and key mappings.
5341676Sjpk	This privilege is interpreted only if the system is configured
5351676Sjpk	with Trusted Extensions.
5361676Sjpk
5371676Sjpkprivilege PRIV_WIN_DGA
5381676Sjpk
5391676Sjpk	Allows a process to use the direct graphics access (DGA) X protocol
5401676Sjpk	extensions. Direct process access to the frame buffer is still
5411676Sjpk	required. Thus the process must have MAC and DAC privileges that
5421676Sjpk	allow access to the frame buffer, or the frame buffer must be
5431676Sjpk        allocated to the process.
5441676Sjpk	This privilege is interpreted only if the system is configured
5451676Sjpk	with Trusted Extensions.
5461676Sjpk
5471676Sjpkprivilege PRIV_WIN_DOWNGRADE_SL
5481676Sjpk
5491676Sjpk	Allows a process to set the sensitivity label of a window resource
5501676Sjpk	to a sensitivity label that does not dominate the existing
5511676Sjpk	sensitivity label.
5521676Sjpk	This privilege is interpreted only if the system is configured
5531676Sjpk	with Trusted Extensions.
5541676Sjpk
5551676Sjpkprivilege PRIV_WIN_FONTPATH
5561676Sjpk
5571676Sjpk	Allows a process to set a font path.
5581676Sjpk	This privilege is interpreted only if the system is configured
5591676Sjpk	with Trusted Extensions.
5601676Sjpk
5611676Sjpkprivilege PRIV_WIN_MAC_READ
5621676Sjpk
5631676Sjpk	Allows a process to read from a window resource whose sensitivity
5641676Sjpk	label is not equal to the process sensitivity label.
5651676Sjpk	This privilege is interpreted only if the system is configured
5661676Sjpk	with Trusted Extensions.
5671676Sjpk
5681676Sjpkprivilege PRIV_WIN_MAC_WRITE
5691676Sjpk
5701676Sjpk	Allows a process to create a window resource whose sensitivity
5711676Sjpk	label is not equal to the process sensitivity label.
5721676Sjpk	A newly created window property is created with the window's
5731676Sjpk	sensitivity label.
5741676Sjpk	This privilege is interpreted only if the system is configured
5751676Sjpk	with Trusted Extensions.
5761676Sjpk
5771676Sjpkprivilege PRIV_WIN_SELECTION
5781676Sjpk
5791676Sjpk	Allows a process to request inter-window data moves without the
5801676Sjpk	intervention of the selection confirmer.
5811676Sjpk	This privilege is interpreted only if the system is configured
5821676Sjpk	with Trusted Extensions.
5831676Sjpk
5841676Sjpkprivilege PRIV_WIN_UPGRADE_SL
5851676Sjpk
5861676Sjpk	Allows a process to set the sensitivity label of a window
5871676Sjpk	resource to a sensitivity label that dominates the existing
5881676Sjpk	sensitivity label.
5891676Sjpk	This privilege is interpreted only if the system is configured
5901676Sjpk	with Trusted Extensions.
5911676Sjpk
5926784Sjohnlevprivilege PRIV_XVM_CONTROL
5936784Sjohnlev
5946784Sjohnlev	Allows a process access to the xVM(5) control devices for
5956784Sjohnlev	managing guest domains and the hypervisor. This privilege is
5966784Sjohnlev	used only if booted into xVM on x86 platforms.
5976784Sjohnlev
5980Sstevel@tonic-gateset PRIV_EFFECTIVE
5990Sstevel@tonic-gate
6000Sstevel@tonic-gate	Set of privileges currently in effect.
6010Sstevel@tonic-gate
6020Sstevel@tonic-gateset PRIV_INHERITABLE
60311537SCasper.Dik@Sun.COM
6040Sstevel@tonic-gate	Set of privileges that comes into effect on exec.
6050Sstevel@tonic-gate
6060Sstevel@tonic-gateset PRIV_PERMITTED
6070Sstevel@tonic-gate
6080Sstevel@tonic-gate	Set of privileges that can be put into the effective set without
6090Sstevel@tonic-gate	restriction.
6100Sstevel@tonic-gate
6110Sstevel@tonic-gateset PRIV_LIMIT
6120Sstevel@tonic-gate
6130Sstevel@tonic-gate	Set of privileges that determines the absolute upper bound of
6140Sstevel@tonic-gate	privileges this process and its off-spring can obtain.
615