xref: /illumos-gate/usr/src/uts/common/os/priv_defs (revision 45916cd2fec6e79bca5dee0421bd39e3c2910d1e)
17c478bd9Sstevel@tonic-gate/*
27c478bd9Sstevel@tonic-gate * CDDL HEADER START
37c478bd9Sstevel@tonic-gate *
47c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the
5*45916cd2Sjpk * Common Development and Distribution License (the "License").
6*45916cd2Sjpk * You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate *
87c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate * and limitations under the License.
127c478bd9Sstevel@tonic-gate *
137c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate *
197c478bd9Sstevel@tonic-gate * CDDL HEADER END
207c478bd9Sstevel@tonic-gate */
217c478bd9Sstevel@tonic-gate/*
22*45916cd2Sjpk * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
237c478bd9Sstevel@tonic-gate * Use is subject to license terms.
247c478bd9Sstevel@tonic-gate *
257c478bd9Sstevel@tonic-gateINSERT COMMENT
267c478bd9Sstevel@tonic-gate */
277c478bd9Sstevel@tonic-gate
287c478bd9Sstevel@tonic-gate#pragma ident	"%Z%%M%	%I%	%E% SMI"
297c478bd9Sstevel@tonic-gate
307c478bd9Sstevel@tonic-gate#
317c478bd9Sstevel@tonic-gate# Privileges can be added to this file at any location, not
327c478bd9Sstevel@tonic-gate# necessarily at the end.  For patches, it is probably best to
337c478bd9Sstevel@tonic-gate# add the new privilege at the end; for ordinary releases privileges
347c478bd9Sstevel@tonic-gate# should be ordered alphabetically.
357c478bd9Sstevel@tonic-gate#
367c478bd9Sstevel@tonic-gate
377c478bd9Sstevel@tonic-gateprivilege PRIV_CONTRACT_EVENT
387c478bd9Sstevel@tonic-gate
397c478bd9Sstevel@tonic-gate	Allows a process to request critical events without limitation.
407c478bd9Sstevel@tonic-gate	Allows a process to request reliable delivery of all events on
417c478bd9Sstevel@tonic-gate	any event queue.
427c478bd9Sstevel@tonic-gate
437c478bd9Sstevel@tonic-gateprivilege PRIV_CONTRACT_OBSERVER
447c478bd9Sstevel@tonic-gate
457c478bd9Sstevel@tonic-gate	Allows a process to observe contract events generated by
467c478bd9Sstevel@tonic-gate	contracts created and owned by users other than the process's
477c478bd9Sstevel@tonic-gate	effective user ID.
487c478bd9Sstevel@tonic-gate	Allows a process to open contract event endpoints belonging to
497c478bd9Sstevel@tonic-gate	contracts created and owned by users other than the process's
507c478bd9Sstevel@tonic-gate	effective user ID.
517c478bd9Sstevel@tonic-gate
527c478bd9Sstevel@tonic-gateprivilege PRIV_CPC_CPU
537c478bd9Sstevel@tonic-gate
547c478bd9Sstevel@tonic-gate	Allow a process to access per-CPU hardware performance counters.
557c478bd9Sstevel@tonic-gate
567c478bd9Sstevel@tonic-gateprivilege PRIV_DTRACE_KERNEL
577c478bd9Sstevel@tonic-gate
587c478bd9Sstevel@tonic-gate	Allows DTrace kernel-level tracing.
597c478bd9Sstevel@tonic-gate
607c478bd9Sstevel@tonic-gateprivilege PRIV_DTRACE_PROC
617c478bd9Sstevel@tonic-gate
627c478bd9Sstevel@tonic-gate	Allows DTrace process-level tracing.
637c478bd9Sstevel@tonic-gate	Allows process-level tracing probes to be placed and enabled in
647c478bd9Sstevel@tonic-gate	processes to which the user has permissions.
657c478bd9Sstevel@tonic-gate
667c478bd9Sstevel@tonic-gateprivilege PRIV_DTRACE_USER
677c478bd9Sstevel@tonic-gate
687c478bd9Sstevel@tonic-gate	Allows DTrace user-level tracing.
697c478bd9Sstevel@tonic-gate	Allows use of the syscall and profile DTrace providers to
707c478bd9Sstevel@tonic-gate	examine processes to which the user has permissions.
717c478bd9Sstevel@tonic-gate
727c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_CHOWN
737c478bd9Sstevel@tonic-gate
747c478bd9Sstevel@tonic-gate	Allows a process to change a file's owner user ID.
757c478bd9Sstevel@tonic-gate	Allows a process to change a file's group ID to one other than
767c478bd9Sstevel@tonic-gate	the process' effective group ID or one of the process'
777c478bd9Sstevel@tonic-gate	supplemental group IDs.
787c478bd9Sstevel@tonic-gate
797c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_CHOWN_SELF
807c478bd9Sstevel@tonic-gate
817c478bd9Sstevel@tonic-gate	Allows a process to give away its files; a process with this
827c478bd9Sstevel@tonic-gate	privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not
837c478bd9Sstevel@tonic-gate	in effect.
847c478bd9Sstevel@tonic-gate
857c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_DAC_EXECUTE
867c478bd9Sstevel@tonic-gate
877c478bd9Sstevel@tonic-gate	Allows a process to execute an executable file whose permission
887c478bd9Sstevel@tonic-gate	bits or ACL do not allow the process execute permission.
897c478bd9Sstevel@tonic-gate
907c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_DAC_READ
917c478bd9Sstevel@tonic-gate
927c478bd9Sstevel@tonic-gate	Allows a process to read a file or directory whose permission
937c478bd9Sstevel@tonic-gate	bits or ACL do not allow the process read permission.
947c478bd9Sstevel@tonic-gate
957c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_DAC_SEARCH
967c478bd9Sstevel@tonic-gate
977c478bd9Sstevel@tonic-gate	Allows a process to search a directory whose permission bits or
987c478bd9Sstevel@tonic-gate	ACL do not allow the process search permission.
997c478bd9Sstevel@tonic-gate
1007c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_DAC_WRITE
1017c478bd9Sstevel@tonic-gate
1027c478bd9Sstevel@tonic-gate	Allows a process to write a file or directory whose permission
1037c478bd9Sstevel@tonic-gate	bits or ACL do not allow the process write permission.
1047c478bd9Sstevel@tonic-gate	In order to write files owned by uid 0 in the absence of an
1057c478bd9Sstevel@tonic-gate	effective uid of 0 ALL privileges are required.
1067c478bd9Sstevel@tonic-gate
107*45916cd2Sjpkprivilege PRIV_FILE_DOWNGRADE_SL
108*45916cd2Sjpk
109*45916cd2Sjpk	Allows a process to set the sensitivity label of a file or
110*45916cd2Sjpk	directory to a sensitivity label that does not dominate the
111*45916cd2Sjpk	existing sensitivity label.
112*45916cd2Sjpk	This privilege is interpreted only if the system is configured
113*45916cd2Sjpk	with Trusted Extensions.
114*45916cd2Sjpk
1157c478bd9Sstevel@tonic-gatebasic privilege PRIV_FILE_LINK_ANY
1167c478bd9Sstevel@tonic-gate
1177c478bd9Sstevel@tonic-gate	Allows a process to create hardlinks to files owned by a uid
1187c478bd9Sstevel@tonic-gate	different from the process' effective uid.
1197c478bd9Sstevel@tonic-gate
1207c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_OWNER
1217c478bd9Sstevel@tonic-gate
1227c478bd9Sstevel@tonic-gate	Allows a process which is not the owner of a file or directory
1237c478bd9Sstevel@tonic-gate	to perform the following operations that are normally permitted
1247c478bd9Sstevel@tonic-gate	only for the file owner: modify that file's access and
1257c478bd9Sstevel@tonic-gate	modification times; remove or rename a file or directory whose
1267c478bd9Sstevel@tonic-gate	parent directory has the ``save text image after execution''
1277c478bd9Sstevel@tonic-gate	(sticky) bit set; mount a ``namefs'' upon a file; modify
1287c478bd9Sstevel@tonic-gate	permission bits or ACL except for the set-uid and set-gid
1297c478bd9Sstevel@tonic-gate	bits.
1307c478bd9Sstevel@tonic-gate
1317c478bd9Sstevel@tonic-gateprivilege PRIV_FILE_SETID
1327c478bd9Sstevel@tonic-gate
1337c478bd9Sstevel@tonic-gate	Allows a process to change the ownership of a file or write to
1347c478bd9Sstevel@tonic-gate	a file without the set-user-ID and set-group-ID bits being
1357c478bd9Sstevel@tonic-gate	cleared.
1367c478bd9Sstevel@tonic-gate	Allows a process to set the set-group-ID bit on a file or
1377c478bd9Sstevel@tonic-gate	directory whose group is not the process' effective group or
1387c478bd9Sstevel@tonic-gate	one of the process' supplemental groups.
1397c478bd9Sstevel@tonic-gate	Allows a process to set the set-user-ID bit on a file with
1407c478bd9Sstevel@tonic-gate	different ownership in the presence of PRIV_FILE_OWNER.
1417c478bd9Sstevel@tonic-gate	Additional restrictions apply when creating or modifying a
1427c478bd9Sstevel@tonic-gate	set-uid 0 file.
1437c478bd9Sstevel@tonic-gate
144*45916cd2Sjpkprivilege PRIV_FILE_UPGRADE_SL
145*45916cd2Sjpk
146*45916cd2Sjpk	Allows a process to set the sensitivity label of a file or
147*45916cd2Sjpk	directory to a sensitivity label that dominates the existing
148*45916cd2Sjpk	sensitivity label.
149*45916cd2Sjpk	This privilege is interpreted only if the system is configured
150*45916cd2Sjpk	with Trusted Extensions.
151*45916cd2Sjpk
1527c478bd9Sstevel@tonic-gateprivilege PRIV_GART_ACCESS
1537c478bd9Sstevel@tonic-gate
1547c478bd9Sstevel@tonic-gate	Allows a process to make ioctls to agpgart device except
1557c478bd9Sstevel@tonic-gate	that AGPIOC_INFO ioctl needs no privilege. Typically only
1567c478bd9Sstevel@tonic-gate	xserver process needs to have this privilege. And a process
1577c478bd9Sstevel@tonic-gate	with this privilege is also allowed to map aperture ranges
1587c478bd9Sstevel@tonic-gate	through agpgart driver.
1597c478bd9Sstevel@tonic-gate
1607c478bd9Sstevel@tonic-gateprivilege PRIV_GART_MAP
1617c478bd9Sstevel@tonic-gate
1627c478bd9Sstevel@tonic-gate	Allows a process to map aperture ranges through  agpgart
1637c478bd9Sstevel@tonic-gate	driver. This privilege won't allow the process to do agpgart
1647c478bd9Sstevel@tonic-gate	ioctls other than AGPIOC_INFO.
1657c478bd9Sstevel@tonic-gate
1667c478bd9Sstevel@tonic-gateprivilege PRIV_IPC_DAC_READ
1677c478bd9Sstevel@tonic-gate
1687c478bd9Sstevel@tonic-gate	Allows a process to read a System V IPC
1697c478bd9Sstevel@tonic-gate	Message Queue, Semaphore Set, or Shared Memory Segment whose
1707c478bd9Sstevel@tonic-gate	permission bits do not allow the process read permission.
1717c478bd9Sstevel@tonic-gate	Allows a process to read remote shared memory whose
1727c478bd9Sstevel@tonic-gate	permission bits do not allow the process read permission.
1737c478bd9Sstevel@tonic-gate
1747c478bd9Sstevel@tonic-gateprivilege PRIV_IPC_DAC_WRITE
1757c478bd9Sstevel@tonic-gate
1767c478bd9Sstevel@tonic-gate	Allows a process to write a System V IPC
1777c478bd9Sstevel@tonic-gate	Message Queue, Semaphore Set, or Shared Memory Segment whose
1787c478bd9Sstevel@tonic-gate	permission bits do not allow the process write permission.
1797c478bd9Sstevel@tonic-gate	Allows a process to read remote shared memory whose
1807c478bd9Sstevel@tonic-gate	permission bits do not allow the process write permission.
1817c478bd9Sstevel@tonic-gate	Additional restrictions apply if the owner of the object has uid 0
1827c478bd9Sstevel@tonic-gate	and the effective uid of the current process is not 0.
1837c478bd9Sstevel@tonic-gate
1847c478bd9Sstevel@tonic-gateprivilege PRIV_IPC_OWNER
1857c478bd9Sstevel@tonic-gate
1867c478bd9Sstevel@tonic-gate	Allows a process which is not the owner of a System
1877c478bd9Sstevel@tonic-gate	V IPC Message Queue, Semaphore Set, or Shared Memory Segment to
1887c478bd9Sstevel@tonic-gate	remove, change ownership of, or change permission bits of the
1897c478bd9Sstevel@tonic-gate	Message Queue, Semaphore Set, or Shared Memory Segment.
1907c478bd9Sstevel@tonic-gate	Additional restrictions apply if the owner of the object has uid 0
1917c478bd9Sstevel@tonic-gate	and the effective uid of the current process is not 0.
1927c478bd9Sstevel@tonic-gate
193*45916cd2Sjpkprivilege PRIV_NET_BINDMLP
194*45916cd2Sjpk
195*45916cd2Sjpk	Allow a process to bind to a port that is configured as a
196*45916cd2Sjpk	multi-level port(MLP) for the process's zone. This privilege
197*45916cd2Sjpk	applies to both shared address and zone-specific address MLPs.
198*45916cd2Sjpk	See tnzonecfg(4) from the Trusted Extensions manual pages for
199*45916cd2Sjpk	information on configuring MLP ports.
200*45916cd2Sjpk	This privilege is interpreted only if the system is configured
201*45916cd2Sjpk	with Trusted Extensions.
202*45916cd2Sjpk
2037c478bd9Sstevel@tonic-gateprivilege PRIV_NET_ICMPACCESS
2047c478bd9Sstevel@tonic-gate
2057c478bd9Sstevel@tonic-gate	Allows a process to send and receive ICMP packets.
2067c478bd9Sstevel@tonic-gate
207*45916cd2Sjpkprivilege PRIV_NET_MAC_AWARE
208*45916cd2Sjpk
209*45916cd2Sjpk	Allows a process to set NET_MAC_AWARE process flag by using
210*45916cd2Sjpk	setpflags(2). This privilege also allows a process to set
211*45916cd2Sjpk	SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET).
212*45916cd2Sjpk	The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket
213*45916cd2Sjpk	option both allow a local process to communicate with an
214*45916cd2Sjpk	unlabeled peer if the local process' label dominates the
215*45916cd2Sjpk	peer's default label, or if the local process runs in the
216*45916cd2Sjpk	global zone.
217*45916cd2Sjpk	This privilege is interpreted only if the system is configured
218*45916cd2Sjpk	with Trusted Extensions.
219*45916cd2Sjpk
2207c478bd9Sstevel@tonic-gateprivilege PRIV_NET_PRIVADDR
2217c478bd9Sstevel@tonic-gate
2227c478bd9Sstevel@tonic-gate	Allows a process to bind to a privileged port
2237c478bd9Sstevel@tonic-gate	number. The privilege port numbers are 1-1023 (the traditional
2247c478bd9Sstevel@tonic-gate	UNIX privileged ports) as well as those ports marked as
2257c478bd9Sstevel@tonic-gate	"udp/tcp_extra_priv_ports" with the exception of the ports
2267c478bd9Sstevel@tonic-gate	reserved for use by NFS.
2277c478bd9Sstevel@tonic-gate
2287c478bd9Sstevel@tonic-gateprivilege PRIV_NET_RAWACCESS
2297c478bd9Sstevel@tonic-gate
2307c478bd9Sstevel@tonic-gate	Allows a process to have direct access to the network layer.
2317c478bd9Sstevel@tonic-gate
2327c478bd9Sstevel@tonic-gateunsafe privilege PRIV_PROC_AUDIT
2337c478bd9Sstevel@tonic-gate
2347c478bd9Sstevel@tonic-gate	Allows a process to generate audit records.
2357c478bd9Sstevel@tonic-gate	Allows a process to get its own audit pre-selection information.
2367c478bd9Sstevel@tonic-gate
2377c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_CHROOT
2387c478bd9Sstevel@tonic-gate
2397c478bd9Sstevel@tonic-gate	Allows a process to change its root directory.
2407c478bd9Sstevel@tonic-gate
2417c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_CLOCK_HIGHRES
2427c478bd9Sstevel@tonic-gate
2437c478bd9Sstevel@tonic-gate	Allows a process to use high resolution timers.
2447c478bd9Sstevel@tonic-gate
2457c478bd9Sstevel@tonic-gatebasic privilege PRIV_PROC_EXEC
2467c478bd9Sstevel@tonic-gate
2477c478bd9Sstevel@tonic-gate	Allows a process to call execve().
2487c478bd9Sstevel@tonic-gate
2497c478bd9Sstevel@tonic-gatebasic privilege PRIV_PROC_FORK
2507c478bd9Sstevel@tonic-gate
2517c478bd9Sstevel@tonic-gate	Allows a process to call fork1()/forkall()/vfork()
2527c478bd9Sstevel@tonic-gate
2537c478bd9Sstevel@tonic-gatebasic privilege PRIV_PROC_INFO
2547c478bd9Sstevel@tonic-gate
2557c478bd9Sstevel@tonic-gate	Allows a process to examine the status of processes other
2567c478bd9Sstevel@tonic-gate	than those it can send signals to.  Processes which cannot
2577c478bd9Sstevel@tonic-gate	be examined cannot be seen in /proc and appear not to exist.
2587c478bd9Sstevel@tonic-gate
2597c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_LOCK_MEMORY
2607c478bd9Sstevel@tonic-gate
2617c478bd9Sstevel@tonic-gate	Allows a process to lock pages in physical memory.
2627c478bd9Sstevel@tonic-gate
2637c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_OWNER
2647c478bd9Sstevel@tonic-gate
2657c478bd9Sstevel@tonic-gate	Allows a process to send signals to other processes, inspect
2667c478bd9Sstevel@tonic-gate	and modify process state to other processes regardless of
2677c478bd9Sstevel@tonic-gate	ownership.  When modifying another process, additional
2687c478bd9Sstevel@tonic-gate	restrictions apply:  the effective privilege set of the
2697c478bd9Sstevel@tonic-gate	attaching process must be a superset of the target process'
2707c478bd9Sstevel@tonic-gate	effective, permitted and inheritable sets; the limit set must
2717c478bd9Sstevel@tonic-gate	be a superset of the target's limit set; if the target process
2727c478bd9Sstevel@tonic-gate	has any uid set to 0 all privilege must be asserted unless the
2737c478bd9Sstevel@tonic-gate	effective uid is 0.
2747c478bd9Sstevel@tonic-gate	Allows a process to bind arbitrary processes to CPUs.
2757c478bd9Sstevel@tonic-gate
2767c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_PRIOCNTL
2777c478bd9Sstevel@tonic-gate
2787c478bd9Sstevel@tonic-gate	Allows a process to elevate its priority above its current level.
2797c478bd9Sstevel@tonic-gate	Allows a process to change its scheduling class to any scheduling class,
2807c478bd9Sstevel@tonic-gate	including the RT class.
2817c478bd9Sstevel@tonic-gate
2827c478bd9Sstevel@tonic-gatebasic privilege PRIV_PROC_SESSION
2837c478bd9Sstevel@tonic-gate
2847c478bd9Sstevel@tonic-gate	Allows a process to send signals or trace processes outside its
2857c478bd9Sstevel@tonic-gate	session.
2867c478bd9Sstevel@tonic-gate
2877c478bd9Sstevel@tonic-gateunsafe privilege PRIV_PROC_SETID
2887c478bd9Sstevel@tonic-gate
2897c478bd9Sstevel@tonic-gate	Allows a process to set its uids at will.
2907c478bd9Sstevel@tonic-gate	Assuming uid 0 requires all privileges to be asserted.
2917c478bd9Sstevel@tonic-gate
2927c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_TASKID
2937c478bd9Sstevel@tonic-gate
2947c478bd9Sstevel@tonic-gate	Allows a process to assign a new task ID to the calling process.
2957c478bd9Sstevel@tonic-gate
2967c478bd9Sstevel@tonic-gateprivilege PRIV_PROC_ZONE
2977c478bd9Sstevel@tonic-gate
2987c478bd9Sstevel@tonic-gate	Allows a process to trace or send signals to processes in
2997c478bd9Sstevel@tonic-gate	other zones.
3007c478bd9Sstevel@tonic-gate
3017c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_ACCT
3027c478bd9Sstevel@tonic-gate
3037c478bd9Sstevel@tonic-gate	Allows a process to enable and disable and manage accounting through
3047c478bd9Sstevel@tonic-gate	acct(2), getacct(2), putacct(2) and wracct(2).
3057c478bd9Sstevel@tonic-gate
3067c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_ADMIN
3077c478bd9Sstevel@tonic-gate
3087c478bd9Sstevel@tonic-gate	Allows a process to perform system administration tasks such
3097c478bd9Sstevel@tonic-gate	as setting node and domain name and specifying nscd and coreadm
3107c478bd9Sstevel@tonic-gate	settings.
3117c478bd9Sstevel@tonic-gate
3127c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_AUDIT
3137c478bd9Sstevel@tonic-gate
3147c478bd9Sstevel@tonic-gate	Allows a process to start the (kernel) audit daemon.
3157c478bd9Sstevel@tonic-gate	Allows a process to view and set audit state (audit user ID,
3167c478bd9Sstevel@tonic-gate	audit terminal ID, audit sessions ID, audit pre-selection mask).
3177c478bd9Sstevel@tonic-gate	Allows a process to turn off and on auditing.
3187c478bd9Sstevel@tonic-gate	Allows a process to configure the audit parameters (cache and
3197c478bd9Sstevel@tonic-gate	queue sizes, event to class mappings, policy options).
3207c478bd9Sstevel@tonic-gate
3217c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_CONFIG
3227c478bd9Sstevel@tonic-gate
3237c478bd9Sstevel@tonic-gate	Allows a process to perform various system configuration tasks.
3247c478bd9Sstevel@tonic-gate	Allows a process to add and remove swap devices; when adding a swap
3257c478bd9Sstevel@tonic-gate	device, a process must also have sufficient privileges to read from
3267c478bd9Sstevel@tonic-gate	and write to the swap device.
3277c478bd9Sstevel@tonic-gate
3287c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_DEVICES
3297c478bd9Sstevel@tonic-gate
3307c478bd9Sstevel@tonic-gate	Allows a process to successfully call a kernel module that
3317c478bd9Sstevel@tonic-gate	calls the kernel drv_priv(9F) function to check for allowed
3327c478bd9Sstevel@tonic-gate	access.
3337c478bd9Sstevel@tonic-gate	Allows a process to open the real console device directly.
3347c478bd9Sstevel@tonic-gate	Allows a process to open devices that have been exclusively opened.
3357c478bd9Sstevel@tonic-gate
3367c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_IPC_CONFIG
3377c478bd9Sstevel@tonic-gate
3387c478bd9Sstevel@tonic-gate	Allows a process to increase the size of a System V IPC Message
3397c478bd9Sstevel@tonic-gate	Queue buffer.
3407c478bd9Sstevel@tonic-gate
3417c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_LINKDIR
3427c478bd9Sstevel@tonic-gate
3437c478bd9Sstevel@tonic-gate	Allows a process to unlink and link directories.
3447c478bd9Sstevel@tonic-gate
3457c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_MOUNT
3467c478bd9Sstevel@tonic-gate
3477c478bd9Sstevel@tonic-gate	Allows filesystem specific administrative procedures, such as
3487c478bd9Sstevel@tonic-gate	filesystem configuration ioctls, quota calls and creation/deletion
3497c478bd9Sstevel@tonic-gate	of snapshots.
3507c478bd9Sstevel@tonic-gate	Allows a process to mount and unmount filesystems which would
3517c478bd9Sstevel@tonic-gate	otherwise be restricted (i.e., most filesystems except
3527c478bd9Sstevel@tonic-gate	namefs).
3537c478bd9Sstevel@tonic-gate	A process performing a mount operation needs to have
3547c478bd9Sstevel@tonic-gate	appropriate access to the device being mounted (read-write for
3557c478bd9Sstevel@tonic-gate	"rw" mounts, read for "ro" mounts).
3567c478bd9Sstevel@tonic-gate	A process performing any of the aforementioned
3577c478bd9Sstevel@tonic-gate	filesystem operations needs to have read/write/owner
3587c478bd9Sstevel@tonic-gate	access to the mount point.
3597c478bd9Sstevel@tonic-gate	Only regular files and directories can serve as mount points
3607c478bd9Sstevel@tonic-gate	for processes which do not have all zone privileges asserted.
3617c478bd9Sstevel@tonic-gate	Unless a process has all zone privileges, the mount(2)
3627c478bd9Sstevel@tonic-gate	system call will force the "nosuid" and "restrict" options, the
3637c478bd9Sstevel@tonic-gate	latter only for autofs mountpoints.
3647c478bd9Sstevel@tonic-gate	Regardless of privileges, a process running in a non-global zone may
3657c478bd9Sstevel@tonic-gate	only control mounts performed from within said zone.
3667c478bd9Sstevel@tonic-gate	Outside the global zone, the "nodevices" option is always forced.
3677c478bd9Sstevel@tonic-gate
3687c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_NET_CONFIG
3697c478bd9Sstevel@tonic-gate
3707c478bd9Sstevel@tonic-gate	Allows a process to configure a system's network interfaces and routes.
3717c478bd9Sstevel@tonic-gate	Allows a process to configure network parameters using ndd.
3727c478bd9Sstevel@tonic-gate	Allows a process access to otherwise restricted information using ndd.
3737c478bd9Sstevel@tonic-gate	Allows a process to push the rpcmod STREAMs module.
3747c478bd9Sstevel@tonic-gate	Allows a process to pop anchored STREAMs modules.
3757c478bd9Sstevel@tonic-gate	Allows a process to INSERT/REMOVE STREAMs modules on locations other
3767c478bd9Sstevel@tonic-gate	than the top of the module stack.
3777c478bd9Sstevel@tonic-gate	Allows a process to configure IPsec.
3787c478bd9Sstevel@tonic-gate
3797c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_NFS
3807c478bd9Sstevel@tonic-gate
3817c478bd9Sstevel@tonic-gate	Allows a process to perform Sun private NFS specific system calls.
3827c478bd9Sstevel@tonic-gate	Allows a process to bind to ports reserved by NFS: ports 2049 (nfs)
3837c478bd9Sstevel@tonic-gate	and port 4045 (lockd).
3847c478bd9Sstevel@tonic-gate
3857c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_RES_CONFIG
3867c478bd9Sstevel@tonic-gate
3877c478bd9Sstevel@tonic-gate	Allows a process to create and delete processor sets, assign
3887c478bd9Sstevel@tonic-gate	CPUs to processor sets and override the PSET_NOESCAPE property.
3897c478bd9Sstevel@tonic-gate	Allows a process to change the operational status of CPUs in
3907c478bd9Sstevel@tonic-gate	the system using p_online(2).
3917c478bd9Sstevel@tonic-gate	Allows a process to configure resource pools and to bind
3927c478bd9Sstevel@tonic-gate	processes to pools
3937c478bd9Sstevel@tonic-gate
3947c478bd9Sstevel@tonic-gateunsafe privilege PRIV_SYS_RESOURCE
3957c478bd9Sstevel@tonic-gate
3967c478bd9Sstevel@tonic-gate	Allows a process to modify the resource limits specified
3977c478bd9Sstevel@tonic-gate	by setrlimit(2) and setrctl(2) without restriction.
3987c478bd9Sstevel@tonic-gate	Allows a process to exceed the per-user maximum number of
3997c478bd9Sstevel@tonic-gate	processes.
4007c478bd9Sstevel@tonic-gate	Allows a process to extend or create files on a filesystem that
4017c478bd9Sstevel@tonic-gate	has less than minfree space in reserve.
4027c478bd9Sstevel@tonic-gate
4037c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_SUSER_COMPAT
4047c478bd9Sstevel@tonic-gate
4057c478bd9Sstevel@tonic-gate	Allows a process to successfully call a third party loadable module
4067c478bd9Sstevel@tonic-gate	that calls the kernel suser() function to check for allowed access.
4077c478bd9Sstevel@tonic-gate	This privilege exists only for third party loadable module
4087c478bd9Sstevel@tonic-gate	compatibility and is not used by Solaris proper.
4097c478bd9Sstevel@tonic-gate
4107c478bd9Sstevel@tonic-gateprivilege PRIV_SYS_TIME
4117c478bd9Sstevel@tonic-gate
4127c478bd9Sstevel@tonic-gate	Allows a process to manipulate system time using any of the
4137c478bd9Sstevel@tonic-gate	appropriate system calls: stime, adjtime, ntp_adjtime and
4147c478bd9Sstevel@tonic-gate	the IA specific RTC calls.
415*45916cd2Sjpk
416*45916cd2Sjpkprivilege PRIV_SYS_TRANS_LABEL
417*45916cd2Sjpk
418*45916cd2Sjpk	Allows a process to translate labels that are not dominated
419*45916cd2Sjpk	by the process' sensitivity label to and from an external
420*45916cd2Sjpk	string form.
421*45916cd2Sjpk	This privilege is interpreted only if the system is configured
422*45916cd2Sjpk	with Trusted Extensions.
423*45916cd2Sjpk
424*45916cd2Sjpkprivilege PRIV_WIN_COLORMAP
425*45916cd2Sjpk
426*45916cd2Sjpk	Allows a process to override colormap restrictions.
427*45916cd2Sjpk        Allows a process to install or remove colormaps.
428*45916cd2Sjpk        Allows a process to retrieve colormap cell entries allocated
429*45916cd2Sjpk	by other processes.
430*45916cd2Sjpk	This privilege is interpreted only if the system is configured
431*45916cd2Sjpk	with Trusted Extensions.
432*45916cd2Sjpk
433*45916cd2Sjpkprivilege PRIV_WIN_CONFIG
434*45916cd2Sjpk
435*45916cd2Sjpk	Allows a process to configure or destroy resources that are
436*45916cd2Sjpk	permanently retained by the X server.
437*45916cd2Sjpk        Allows a process to use SetScreenSaver to set the screen
438*45916cd2Sjpk	saver timeout value.
439*45916cd2Sjpk        Allows a process to use ChangeHosts to modify the display
440*45916cd2Sjpk	access control list.
441*45916cd2Sjpk        Allows a process to use GrabServer.
442*45916cd2Sjpk        Allows a process to use the SetCloseDownMode request which
443*45916cd2Sjpk	may retain window, pixmap, colormap, property, cursor, font,
444*45916cd2Sjpk	or graphic context resources.
445*45916cd2Sjpk	This privilege is interpreted only if the system is configured
446*45916cd2Sjpk	with Trusted Extensions.
447*45916cd2Sjpk
448*45916cd2Sjpkprivilege PRIV_WIN_DAC_READ
449*45916cd2Sjpk
450*45916cd2Sjpk	Allows a process to read from a window resource that it does
451*45916cd2Sjpk	not own (has a different user ID).
452*45916cd2Sjpk	This privilege is interpreted only if the system is configured
453*45916cd2Sjpk	with Trusted Extensions.
454*45916cd2Sjpk
455*45916cd2Sjpkprivilege PRIV_WIN_DAC_WRITE
456*45916cd2Sjpk
457*45916cd2Sjpk	Allows a process to write to or create a window resource that
458*45916cd2Sjpk	it does not own (has a different user ID). A newly created
459*45916cd2Sjpk	window property is created with the window's user ID.
460*45916cd2Sjpk	This privilege is interpreted only if the system is configured
461*45916cd2Sjpk	with Trusted Extensions.
462*45916cd2Sjpk
463*45916cd2Sjpkprivilege PRIV_WIN_DEVICES
464*45916cd2Sjpk
465*45916cd2Sjpk	Allows a process to perform operations on window input devices.
466*45916cd2Sjpk        Allows a process to get and set keyboard and pointer controls.
467*45916cd2Sjpk        Allows a process to modify pointer button and key mappings.
468*45916cd2Sjpk	This privilege is interpreted only if the system is configured
469*45916cd2Sjpk	with Trusted Extensions.
470*45916cd2Sjpk
471*45916cd2Sjpkprivilege PRIV_WIN_DGA
472*45916cd2Sjpk
473*45916cd2Sjpk	Allows a process to use the direct graphics access (DGA) X protocol
474*45916cd2Sjpk	extensions. Direct process access to the frame buffer is still
475*45916cd2Sjpk	required. Thus the process must have MAC and DAC privileges that
476*45916cd2Sjpk	allow access to the frame buffer, or the frame buffer must be
477*45916cd2Sjpk        allocated to the process.
478*45916cd2Sjpk	This privilege is interpreted only if the system is configured
479*45916cd2Sjpk	with Trusted Extensions.
480*45916cd2Sjpk
481*45916cd2Sjpkprivilege PRIV_WIN_DOWNGRADE_SL
482*45916cd2Sjpk
483*45916cd2Sjpk	Allows a process to set the sensitivity label of a window resource
484*45916cd2Sjpk	to a sensitivity label that does not dominate the existing
485*45916cd2Sjpk	sensitivity label.
486*45916cd2Sjpk	This privilege is interpreted only if the system is configured
487*45916cd2Sjpk	with Trusted Extensions.
488*45916cd2Sjpk
489*45916cd2Sjpkprivilege PRIV_WIN_FONTPATH
490*45916cd2Sjpk
491*45916cd2Sjpk	Allows a process to set a font path.
492*45916cd2Sjpk	This privilege is interpreted only if the system is configured
493*45916cd2Sjpk	with Trusted Extensions.
494*45916cd2Sjpk
495*45916cd2Sjpkprivilege PRIV_WIN_MAC_READ
496*45916cd2Sjpk
497*45916cd2Sjpk	Allows a process to read from a window resource whose sensitivity
498*45916cd2Sjpk	label is not equal to the process sensitivity label.
499*45916cd2Sjpk	This privilege is interpreted only if the system is configured
500*45916cd2Sjpk	with Trusted Extensions.
501*45916cd2Sjpk
502*45916cd2Sjpkprivilege PRIV_WIN_MAC_WRITE
503*45916cd2Sjpk
504*45916cd2Sjpk	Allows a process to create a window resource whose sensitivity
505*45916cd2Sjpk	label is not equal to the process sensitivity label.
506*45916cd2Sjpk	A newly created window property is created with the window's
507*45916cd2Sjpk	sensitivity label.
508*45916cd2Sjpk	This privilege is interpreted only if the system is configured
509*45916cd2Sjpk	with Trusted Extensions.
510*45916cd2Sjpk
511*45916cd2Sjpkprivilege PRIV_WIN_SELECTION
512*45916cd2Sjpk
513*45916cd2Sjpk	Allows a process to request inter-window data moves without the
514*45916cd2Sjpk	intervention of the selection confirmer.
515*45916cd2Sjpk	This privilege is interpreted only if the system is configured
516*45916cd2Sjpk	with Trusted Extensions.
517*45916cd2Sjpk
518*45916cd2Sjpkprivilege PRIV_WIN_UPGRADE_SL
519*45916cd2Sjpk
520*45916cd2Sjpk	Allows a process to set the sensitivity label of a window
521*45916cd2Sjpk	resource to a sensitivity label that dominates the existing
522*45916cd2Sjpk	sensitivity label.
523*45916cd2Sjpk	This privilege is interpreted only if the system is configured
524*45916cd2Sjpk	with Trusted Extensions.
525*45916cd2Sjpk
5267c478bd9Sstevel@tonic-gateset PRIV_EFFECTIVE
5277c478bd9Sstevel@tonic-gate
5287c478bd9Sstevel@tonic-gate	Set of privileges currently in effect.
5297c478bd9Sstevel@tonic-gate
5307c478bd9Sstevel@tonic-gateset PRIV_INHERITABLE
5317c478bd9Sstevel@tonic-gate
5327c478bd9Sstevel@tonic-gate	Set of privileges that comes into effect on exec.
5337c478bd9Sstevel@tonic-gate
5347c478bd9Sstevel@tonic-gateset PRIV_PERMITTED
5357c478bd9Sstevel@tonic-gate
5367c478bd9Sstevel@tonic-gate	Set of privileges that can be put into the effective set without
5377c478bd9Sstevel@tonic-gate	restriction.
5387c478bd9Sstevel@tonic-gate
5397c478bd9Sstevel@tonic-gateset PRIV_LIMIT
5407c478bd9Sstevel@tonic-gate
5417c478bd9Sstevel@tonic-gate	Set of privileges that determines the absolute upper bound of
5427c478bd9Sstevel@tonic-gate	privileges this process and its off-spring can obtain.
543