1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* 22 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 23 * Copyright 2015, Joyent, Inc. All rights reserved. 24 * 25 * Privilege constant definitions. Privileges and privilege sets 26 * are only known by name and should be mapped at runtime. 27 * 28 * THIS FILE WAS GENERATED; DO NOT EDIT 29 */ 30 31 32 #ifndef _SYS_PRIV_NAMES_H 33 #define _SYS_PRIV_NAMES_H 34 35 36 37 #ifdef __cplusplus 38 extern "C" { 39 #endif 40 41 #ifndef __PRIV_CONST_IMPL 42 /* 43 * Privilege names 44 */ 45 /* 46 * Allows a process to request critical events without limitation. 47 * Allows a process to request reliable delivery of all events on 48 * any event queue. 49 */ 50 #define PRIV_CONTRACT_EVENT ((const char *)"contract_event") 51 52 /* 53 * Allows a process to set the service FMRI value of a process 54 * contract template. 55 */ 56 #define PRIV_CONTRACT_IDENTITY ((const char *)"contract_identity") 57 58 /* 59 * Allows a process to observe contract events generated by 60 * contracts created and owned by users other than the process's 61 * effective user ID. 62 * Allows a process to open contract event endpoints belonging to 63 * contracts created and owned by users other than the process's 64 * effective user ID. 65 */ 66 #define PRIV_CONTRACT_OBSERVER ((const char *)"contract_observer") 67 68 /* 69 * Allow a process to access per-CPU hardware performance counters. 70 */ 71 #define PRIV_CPC_CPU ((const char *)"cpc_cpu") 72 73 /* 74 * Allows DTrace kernel-level tracing. 75 */ 76 #define PRIV_DTRACE_KERNEL ((const char *)"dtrace_kernel") 77 78 /* 79 * Allows DTrace process-level tracing. 80 * Allows process-level tracing probes to be placed and enabled in 81 * processes to which the user has permissions. 82 */ 83 #define PRIV_DTRACE_PROC ((const char *)"dtrace_proc") 84 85 /* 86 * Allows DTrace user-level tracing. 87 * Allows use of the syscall and profile DTrace providers to 88 * examine processes to which the user has permissions. 89 */ 90 #define PRIV_DTRACE_USER ((const char *)"dtrace_user") 91 92 /* 93 * Allows a process to change a file's owner user ID. 94 * Allows a process to change a file's group ID to one other than 95 * the process' effective group ID or one of the process' 96 * supplemental group IDs. 97 */ 98 #define PRIV_FILE_CHOWN ((const char *)"file_chown") 99 100 /* 101 * Allows a process to give away its files; a process with this 102 * privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not 103 * in effect. 104 */ 105 #define PRIV_FILE_CHOWN_SELF ((const char *)"file_chown_self") 106 107 /* 108 * Allows a process to execute an executable file whose permission 109 * bits or ACL do not allow the process execute permission. 110 */ 111 #define PRIV_FILE_DAC_EXECUTE ((const char *)"file_dac_execute") 112 113 /* 114 * Allows a process to read a file or directory whose permission 115 * bits or ACL do not allow the process read permission. 116 */ 117 #define PRIV_FILE_DAC_READ ((const char *)"file_dac_read") 118 119 /* 120 * Allows a process to search a directory whose permission bits or 121 * ACL do not allow the process search permission. 122 */ 123 #define PRIV_FILE_DAC_SEARCH ((const char *)"file_dac_search") 124 125 /* 126 * Allows a process to write a file or directory whose permission 127 * bits or ACL do not allow the process write permission. 128 * In order to write files owned by uid 0 in the absence of an 129 * effective uid of 0 ALL privileges are required. 130 */ 131 #define PRIV_FILE_DAC_WRITE ((const char *)"file_dac_write") 132 133 /* 134 * Allows a process to set the sensitivity label of a file or 135 * directory to a sensitivity label that does not dominate the 136 * existing sensitivity label. 137 * This privilege is interpreted only if the system is configured 138 * with Trusted Extensions. 139 */ 140 #define PRIV_FILE_DOWNGRADE_SL ((const char *)"file_downgrade_sl") 141 142 /* 143 * Allows a process to set immutable, nounlink or appendonly 144 * file attributes. 145 */ 146 #define PRIV_FILE_FLAG_SET ((const char *)"file_flag_set") 147 148 /* 149 * Allows a process to create hardlinks to files owned by a uid 150 * different from the process' effective uid. 151 */ 152 #define PRIV_FILE_LINK_ANY ((const char *)"file_link_any") 153 154 /* 155 * Allows a process which is not the owner of a file or directory 156 * to perform the following operations that are normally permitted 157 * only for the file owner: modify that file's access and 158 * modification times; remove or rename a file or directory whose 159 * parent directory has the ``save text image after execution'' 160 * (sticky) bit set; mount a ``namefs'' upon a file; modify 161 * permission bits or ACL except for the set-uid and set-gid 162 * bits. 163 */ 164 #define PRIV_FILE_OWNER ((const char *)"file_owner") 165 166 /* 167 * Allows a process to read objects in the filesystem. 168 */ 169 #define PRIV_FILE_READ ((const char *)"file_read") 170 171 /* 172 * Allows a process to change the ownership of a file or write to 173 * a file without the set-user-ID and set-group-ID bits being 174 * cleared. 175 * Allows a process to set the set-group-ID bit on a file or 176 * directory whose group is not the process' effective group or 177 * one of the process' supplemental groups. 178 * Allows a process to set the set-user-ID bit on a file with 179 * different ownership in the presence of PRIV_FILE_OWNER. 180 * Additional restrictions apply when creating or modifying a 181 * set-uid 0 file. 182 */ 183 #define PRIV_FILE_SETID ((const char *)"file_setid") 184 185 /* 186 * Allows a process to set the sensitivity label of a file or 187 * directory to a sensitivity label that dominates the existing 188 * sensitivity label. 189 * This privilege is interpreted only if the system is configured 190 * with Trusted Extensions. 191 */ 192 #define PRIV_FILE_UPGRADE_SL ((const char *)"file_upgrade_sl") 193 194 /* 195 * Allows a process to modify objects in the filesystem. 196 */ 197 #define PRIV_FILE_WRITE ((const char *)"file_write") 198 199 /* 200 * Allows a process to make privileged ioctls to graphics devices. 201 * Typically only xserver process needs to have this privilege. 202 * A process with this privilege is also allowed to perform 203 * privileged graphics device mappings. 204 */ 205 #define PRIV_GRAPHICS_ACCESS ((const char *)"graphics_access") 206 207 /* 208 * Allows a process to perform privileged mappings through a 209 * graphics device. 210 */ 211 #define PRIV_GRAPHICS_MAP ((const char *)"graphics_map") 212 213 /* 214 * Allows a process to read a System V IPC 215 * Message Queue, Semaphore Set, or Shared Memory Segment whose 216 * permission bits do not allow the process read permission. 217 * Allows a process to read remote shared memory whose 218 * permission bits do not allow the process read permission. 219 */ 220 #define PRIV_IPC_DAC_READ ((const char *)"ipc_dac_read") 221 222 /* 223 * Allows a process to write a System V IPC 224 * Message Queue, Semaphore Set, or Shared Memory Segment whose 225 * permission bits do not allow the process write permission. 226 * Allows a process to read remote shared memory whose 227 * permission bits do not allow the process write permission. 228 * Additional restrictions apply if the owner of the object has uid 0 229 * and the effective uid of the current process is not 0. 230 */ 231 #define PRIV_IPC_DAC_WRITE ((const char *)"ipc_dac_write") 232 233 /* 234 * Allows a process which is not the owner of a System 235 * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to 236 * remove, change ownership of, or change permission bits of the 237 * Message Queue, Semaphore Set, or Shared Memory Segment. 238 * Additional restrictions apply if the owner of the object has uid 0 239 * and the effective uid of the current process is not 0. 240 */ 241 #define PRIV_IPC_OWNER ((const char *)"ipc_owner") 242 243 /* 244 * Allows a process to open a TCP, UDP, SDP or SCTP network endpoint. 245 */ 246 #define PRIV_NET_ACCESS ((const char *)"net_access") 247 248 /* 249 * Allow a process to bind to a port that is configured as a 250 * multi-level port(MLP) for the process's zone. This privilege 251 * applies to both shared address and zone-specific address MLPs. 252 * See tnzonecfg(4) from the Trusted Extensions manual pages for 253 * information on configuring MLP ports. 254 * This privilege is interpreted only if the system is configured 255 * with Trusted Extensions. 256 */ 257 #define PRIV_NET_BINDMLP ((const char *)"net_bindmlp") 258 259 /* 260 * Allows a process to send and receive ICMP packets. 261 */ 262 #define PRIV_NET_ICMPACCESS ((const char *)"net_icmpaccess") 263 264 /* 265 * Allows a process to set NET_MAC_AWARE process flag by using 266 * setpflags(2). This privilege also allows a process to set 267 * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET). 268 * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket 269 * option both allow a local process to communicate with an 270 * unlabeled peer if the local process' label dominates the 271 * peer's default label, or if the local process runs in the 272 * global zone. 273 * This privilege is interpreted only if the system is configured 274 * with Trusted Extensions. 275 */ 276 #define PRIV_NET_MAC_AWARE ((const char *)"net_mac_aware") 277 278 /* 279 * Allows a process to set SO_MAC_IMPLICIT option by using 280 * setsockopt(3SOCKET). This allows a privileged process to 281 * transmit implicitly-labeled packets to a peer. 282 * This privilege is interpreted only if the system is configured 283 * with Trusted Extensions. 284 */ 285 #define PRIV_NET_MAC_IMPLICIT ((const char *)"net_mac_implicit") 286 287 /* 288 * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/ 289 * while not requiring them to need PRIV_NET_RAWACCESS. 290 */ 291 #define PRIV_NET_OBSERVABILITY ((const char *)"net_observability") 292 293 /* 294 * Allows a process to bind to a privileged port 295 * number. The privilege port numbers are 1-1023 (the traditional 296 * UNIX privileged ports) as well as those ports marked as 297 * "udp/tcp_extra_priv_ports" with the exception of the ports 298 * reserved for use by NFS. 299 */ 300 #define PRIV_NET_PRIVADDR ((const char *)"net_privaddr") 301 302 /* 303 * Allows a process to have direct access to the network layer. 304 */ 305 #define PRIV_NET_RAWACCESS ((const char *)"net_rawaccess") 306 307 /* 308 * Allows a process to generate audit records. 309 * Allows a process to get its own audit pre-selection information. 310 */ 311 #define PRIV_PROC_AUDIT ((const char *)"proc_audit") 312 313 /* 314 * Allows a process to change its root directory. 315 */ 316 #define PRIV_PROC_CHROOT ((const char *)"proc_chroot") 317 318 /* 319 * Allows a process to use high resolution timers. 320 */ 321 #define PRIV_PROC_CLOCK_HIGHRES ((const char *)"proc_clock_highres") 322 323 /* 324 * Allows a process to call execve(). 325 */ 326 #define PRIV_PROC_EXEC ((const char *)"proc_exec") 327 328 /* 329 * Allows a process to call fork1()/forkall()/vfork() 330 */ 331 #define PRIV_PROC_FORK ((const char *)"proc_fork") 332 333 /* 334 * Allows a process to examine the status of processes other 335 * than those it can send signals to. Processes which cannot 336 * be examined cannot be seen in /proc and appear not to exist. 337 */ 338 #define PRIV_PROC_INFO ((const char *)"proc_info") 339 340 /* 341 * Allows a process to lock pages in physical memory. 342 */ 343 #define PRIV_PROC_LOCK_MEMORY ((const char *)"proc_lock_memory") 344 345 /* 346 * Allows a process to access physical memory information. 347 */ 348 #define PRIV_PROC_MEMINFO ((const char *)"proc_meminfo") 349 350 /* 351 * Allows a process to send signals to other processes, inspect 352 * and modify process state to other processes regardless of 353 * ownership. When modifying another process, additional 354 * restrictions apply: the effective privilege set of the 355 * attaching process must be a superset of the target process' 356 * effective, permitted and inheritable sets; the limit set must 357 * be a superset of the target's limit set; if the target process 358 * has any uid set to 0 all privilege must be asserted unless the 359 * effective uid is 0. 360 * Allows a process to bind arbitrary processes to CPUs. 361 */ 362 #define PRIV_PROC_OWNER ((const char *)"proc_owner") 363 364 /* 365 * Allows a process to elevate its priority above its current level. 366 */ 367 #define PRIV_PROC_PRIOUP ((const char *)"proc_prioup") 368 369 /* 370 * Allows all that PRIV_PROC_PRIOUP allows. 371 * Allows a process to change its scheduling class to any scheduling class, 372 * including the RT class. 373 */ 374 #define PRIV_PROC_PRIOCNTL ((const char *)"proc_priocntl") 375 376 /* 377 * Allows a process to send signals or trace processes outside its 378 * session. 379 */ 380 #define PRIV_PROC_SESSION ((const char *)"proc_session") 381 382 /* 383 * Allows a process to set its uids at will. 384 * Assuming uid 0 requires all privileges to be asserted. 385 */ 386 #define PRIV_PROC_SETID ((const char *)"proc_setid") 387 388 /* 389 * Allows a process to assign a new task ID to the calling process. 390 */ 391 #define PRIV_PROC_TASKID ((const char *)"proc_taskid") 392 393 /* 394 * Allows a process to trace or send signals to processes in 395 * other zones. 396 */ 397 #define PRIV_PROC_ZONE ((const char *)"proc_zone") 398 399 /* 400 * Allows a process to enable and disable and manage accounting through 401 * acct(2), getacct(2), putacct(2) and wracct(2). 402 */ 403 #define PRIV_SYS_ACCT ((const char *)"sys_acct") 404 405 /* 406 * Allows a process to perform system administration tasks such 407 * as setting node and domain name and specifying nscd and coreadm 408 * settings. 409 */ 410 #define PRIV_SYS_ADMIN ((const char *)"sys_admin") 411 412 /* 413 * Allows a process to start the (kernel) audit daemon. 414 * Allows a process to view and set audit state (audit user ID, 415 * audit terminal ID, audit sessions ID, audit pre-selection mask). 416 * Allows a process to turn off and on auditing. 417 * Allows a process to configure the audit parameters (cache and 418 * queue sizes, event to class mappings, policy options). 419 */ 420 #define PRIV_SYS_AUDIT ((const char *)"sys_audit") 421 422 /* 423 * Allows a process to perform various system configuration tasks. 424 * Allows a process to add and remove swap devices; when adding a swap 425 * device, a process must also have sufficient privileges to read from 426 * and write to the swap device. 427 */ 428 #define PRIV_SYS_CONFIG ((const char *)"sys_config") 429 430 /* 431 * Allows a process to successfully call a kernel module that 432 * calls the kernel drv_priv(9F) function to check for allowed 433 * access. 434 * Allows a process to open the real console device directly. 435 * Allows a process to open devices that have been exclusively opened. 436 */ 437 #define PRIV_SYS_DEVICES ((const char *)"sys_devices") 438 439 /* 440 * Allows a process to increase the size of a System V IPC Message 441 * Queue buffer. 442 */ 443 #define PRIV_SYS_IPC_CONFIG ((const char *)"sys_ipc_config") 444 445 /* 446 * Allows a process to unlink and link directories. 447 */ 448 #define PRIV_SYS_LINKDIR ((const char *)"sys_linkdir") 449 450 /* 451 * Allows filesystem specific administrative procedures, such as 452 * filesystem configuration ioctls, quota calls and creation/deletion 453 * of snapshots. 454 * Allows a process to mount and unmount filesystems which would 455 * otherwise be restricted (i.e., most filesystems except 456 * namefs). 457 * A process performing a mount operation needs to have 458 * appropriate access to the device being mounted (read-write for 459 * "rw" mounts, read for "ro" mounts). 460 * A process performing any of the aforementioned 461 * filesystem operations needs to have read/write/owner 462 * access to the mount point. 463 * Only regular files and directories can serve as mount points 464 * for processes which do not have all zone privileges asserted. 465 * Unless a process has all zone privileges, the mount(2) 466 * system call will force the "nosuid" and "restrict" options, the 467 * latter only for autofs mountpoints. 468 * Regardless of privileges, a process running in a non-global zone may 469 * only control mounts performed from within said zone. 470 * Outside the global zone, the "nodevices" option is always forced. 471 */ 472 #define PRIV_SYS_MOUNT ((const char *)"sys_mount") 473 474 /* 475 * Allows a process to configure IP tunnel links. 476 */ 477 #define PRIV_SYS_IPTUN_CONFIG ((const char *)"sys_iptun_config") 478 479 /* 480 * Allows a process to configure all classes of datalinks, including 481 * configuration allowed by PRIV_SYS_IPTUN_CONFIG. 482 */ 483 #define PRIV_SYS_DL_CONFIG ((const char *)"sys_dl_config") 484 485 /* 486 * Allows a process to configure a system's IP interfaces and routes. 487 * Allows a process to configure network parameters using ndd. 488 * Allows a process access to otherwise restricted information using ndd. 489 * Allows a process to configure IPsec. 490 * Allows a process to pop anchored STREAMs modules with matching zoneid. 491 */ 492 #define PRIV_SYS_IP_CONFIG ((const char *)"sys_ip_config") 493 494 /* 495 * Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and 496 * PRIV_SYS_PPP_CONFIG allow. 497 * Allows a process to push the rpcmod STREAMs module. 498 * Allows a process to INSERT/REMOVE STREAMs modules on locations other 499 * than the top of the module stack. 500 */ 501 #define PRIV_SYS_NET_CONFIG ((const char *)"sys_net_config") 502 503 /* 504 * Allows a process to perform Sun private NFS specific system calls. 505 * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs) 506 * and port 4045 (lockd). 507 */ 508 #define PRIV_SYS_NFS ((const char *)"sys_nfs") 509 510 /* 511 * Allows a process to create and destroy PPP (sppp) interfaces. 512 * Allows a process to configure PPP tunnels (sppptun). 513 */ 514 #define PRIV_SYS_PPP_CONFIG ((const char *)"sys_ppp_config") 515 516 /* 517 * Allows a process to bind processes to processor sets. 518 */ 519 #define PRIV_SYS_RES_BIND ((const char *)"sys_res_bind") 520 521 /* 522 * Allows all that PRIV_SYS_RES_BIND allows. 523 * Allows a process to create and delete processor sets, assign 524 * CPUs to processor sets and override the PSET_NOESCAPE property. 525 * Allows a process to change the operational status of CPUs in 526 * the system using p_online(2). 527 * Allows a process to configure resource pools and to bind 528 * processes to pools 529 */ 530 #define PRIV_SYS_RES_CONFIG ((const char *)"sys_res_config") 531 532 /* 533 * Allows a process to modify the resource limits specified 534 * by setrlimit(2) and setrctl(2) without restriction. 535 * Allows a process to exceed the per-user maximum number of 536 * processes. 537 * Allows a process to extend or create files on a filesystem that 538 * has less than minfree space in reserve. 539 */ 540 #define PRIV_SYS_RESOURCE ((const char *)"sys_resource") 541 542 /* 543 * Allows a process to access the Sun private SMB kernel module. 544 * Allows a process to bind to ports reserved by NetBIOS and SMB: 545 * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS 546 * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP). 547 */ 548 #define PRIV_SYS_SMB ((const char *)"sys_smb") 549 550 /* 551 * Allows a process to successfully call a third party loadable module 552 * that calls the kernel suser() function to check for allowed access. 553 * This privilege exists only for third party loadable module 554 * compatibility and is not used by Solaris proper. 555 */ 556 #define PRIV_SYS_SUSER_COMPAT ((const char *)"sys_suser_compat") 557 558 /* 559 * Allows a process to manipulate system time using any of the 560 * appropriate system calls: stime, adjtime, ntp_adjtime and 561 * the IA specific RTC calls. 562 */ 563 #define PRIV_SYS_TIME ((const char *)"sys_time") 564 565 /* 566 * Allows a process to translate labels that are not dominated 567 * by the process' sensitivity label to and from an external 568 * string form. 569 * This privilege is interpreted only if the system is configured 570 * with Trusted Extensions. 571 */ 572 #define PRIV_SYS_TRANS_LABEL ((const char *)"sys_trans_label") 573 574 /* 575 * Allows a process to manage virtualized environments such as 576 * xVM(5). 577 */ 578 #define PRIV_VIRT_MANAGE ((const char *)"virt_manage") 579 580 /* 581 * Allows a process to override colormap restrictions. 582 * Allows a process to install or remove colormaps. 583 * Allows a process to retrieve colormap cell entries allocated 584 * by other processes. 585 * This privilege is interpreted only if the system is configured 586 * with Trusted Extensions. 587 */ 588 #define PRIV_WIN_COLORMAP ((const char *)"win_colormap") 589 590 /* 591 * Allows a process to configure or destroy resources that are 592 * permanently retained by the X server. 593 * Allows a process to use SetScreenSaver to set the screen 594 * saver timeout value. 595 * Allows a process to use ChangeHosts to modify the display 596 * access control list. 597 * Allows a process to use GrabServer. 598 * Allows a process to use the SetCloseDownMode request which 599 * may retain window, pixmap, colormap, property, cursor, font, 600 * or graphic context resources. 601 * This privilege is interpreted only if the system is configured 602 * with Trusted Extensions. 603 */ 604 #define PRIV_WIN_CONFIG ((const char *)"win_config") 605 606 /* 607 * Allows a process to read from a window resource that it does 608 * not own (has a different user ID). 609 * This privilege is interpreted only if the system is configured 610 * with Trusted Extensions. 611 */ 612 #define PRIV_WIN_DAC_READ ((const char *)"win_dac_read") 613 614 /* 615 * Allows a process to write to or create a window resource that 616 * it does not own (has a different user ID). A newly created 617 * window property is created with the window's user ID. 618 * This privilege is interpreted only if the system is configured 619 * with Trusted Extensions. 620 */ 621 #define PRIV_WIN_DAC_WRITE ((const char *)"win_dac_write") 622 623 /* 624 * Allows a process to perform operations on window input devices. 625 * Allows a process to get and set keyboard and pointer controls. 626 * Allows a process to modify pointer button and key mappings. 627 * This privilege is interpreted only if the system is configured 628 * with Trusted Extensions. 629 */ 630 #define PRIV_WIN_DEVICES ((const char *)"win_devices") 631 632 /* 633 * Allows a process to use the direct graphics access (DGA) X protocol 634 * extensions. Direct process access to the frame buffer is still 635 * required. Thus the process must have MAC and DAC privileges that 636 * allow access to the frame buffer, or the frame buffer must be 637 * allocated to the process. 638 * This privilege is interpreted only if the system is configured 639 * with Trusted Extensions. 640 */ 641 #define PRIV_WIN_DGA ((const char *)"win_dga") 642 643 /* 644 * Allows a process to set the sensitivity label of a window resource 645 * to a sensitivity label that does not dominate the existing 646 * sensitivity label. 647 * This privilege is interpreted only if the system is configured 648 * with Trusted Extensions. 649 */ 650 #define PRIV_WIN_DOWNGRADE_SL ((const char *)"win_downgrade_sl") 651 652 /* 653 * Allows a process to set a font path. 654 * This privilege is interpreted only if the system is configured 655 * with Trusted Extensions. 656 */ 657 #define PRIV_WIN_FONTPATH ((const char *)"win_fontpath") 658 659 /* 660 * Allows a process to read from a window resource whose sensitivity 661 * label is not equal to the process sensitivity label. 662 * This privilege is interpreted only if the system is configured 663 * with Trusted Extensions. 664 */ 665 #define PRIV_WIN_MAC_READ ((const char *)"win_mac_read") 666 667 /* 668 * Allows a process to create a window resource whose sensitivity 669 * label is not equal to the process sensitivity label. 670 * A newly created window property is created with the window's 671 * sensitivity label. 672 * This privilege is interpreted only if the system is configured 673 * with Trusted Extensions. 674 */ 675 #define PRIV_WIN_MAC_WRITE ((const char *)"win_mac_write") 676 677 /* 678 * Allows a process to request inter-window data moves without the 679 * intervention of the selection confirmer. 680 * This privilege is interpreted only if the system is configured 681 * with Trusted Extensions. 682 */ 683 #define PRIV_WIN_SELECTION ((const char *)"win_selection") 684 685 /* 686 * Allows a process to set the sensitivity label of a window 687 * resource to a sensitivity label that dominates the existing 688 * sensitivity label. 689 * This privilege is interpreted only if the system is configured 690 * with Trusted Extensions. 691 */ 692 #define PRIV_WIN_UPGRADE_SL ((const char *)"win_upgrade_sl") 693 694 /* 695 * Allows a process access to the xVM(5) control devices for 696 * managing guest domains and the hypervisor. This privilege is 697 * used only if booted into xVM on x86 platforms. 698 */ 699 #define PRIV_XVM_CONTROL ((const char *)"xvm_control") 700 701 702 /* 703 * Privilege set names 704 */ 705 /* 706 * Set of privileges currently in effect. 707 */ 708 #define PRIV_EFFECTIVE ((const char *)"Effective") 709 710 /* 711 * Set of privileges that comes into effect on exec. 712 */ 713 #define PRIV_INHERITABLE ((const char *)"Inheritable") 714 715 /* 716 * Set of privileges that can be put into the effective set without 717 * restriction. 718 */ 719 #define PRIV_PERMITTED ((const char *)"Permitted") 720 721 /* 722 * Set of privileges that determines the absolute upper bound of 723 * privileges this process and its off-spring can obtain. 724 */ 725 #define PRIV_LIMIT ((const char *)"Limit") 726 727 728 #endif /* __PRIV_CONST_IMPL */ 729 730 #ifdef __cplusplus 731 } 732 #endif 733 734 #endif /* _SYS_PRIV_NAMES_H */ 735