man privileges: Muestra las definiciones de privilegios y sus nombres a medida que son usados por los desarrolladores
ppriv -vl: Muestra definiciones de privilegios y sus nombres a medida que son usados por los administradores
ppriv -vl basic: Muestra una lista de nombres y las definiciones de privilegios en el conjunto básico de privilegios
ppriv $$: Muestra los privilegios en la shell actual ($$)
getent exec_attr: Muestra todos los comandos que tienen atributos de seguridad (o privilegios setuid) por nombre de perfil de derechos
$ getent exec_attr | more All:solaris:cmd:::*: Audit Configuration:solaris:cmd:::/usr/sbin/auditconfig:privs=sys_audit ... Zone Security:solaris:cmd:::/usr/sbin/txzonemgr:uid=0 Zone Security:solaris:cmd:::/usr/sbin/zonecfg:uid=0 ...Ejemplo 6-12 Lista de todos los privilegios y sus definiciones
El formato de los privilegios se describe en la página del comando man privileges(5) y es usado por los desarrolladores.
$ man privileges Standards, Environments, and Macros privileges(5) NAME privileges - process privilege model ... The defined privileges are: PRIV_CONTRACT_EVENT Allow a process to request reliable delivery of events to an event endpoint. Allow a process to include events in the critical event set term of a template which could be generated in volume by the user. ...Ejemplo 6-13 Lista de privilegios que se utilizan en la asignación de privilegios
El comando pprivmuestra todos los privilegios por nombre. Para obtener una definición, utilice la opción –v.
Este formato de privilegio se utiliza para asignar privilegios a usuarios y roles con los comandos useradd, roleadd, usermod y rolemod, y a perfiles de derechos con el comando profiles.
$ ppriv -lv | more contract_event Allows a process to request critical events without limitation. Allows a process to request reliable delivery of all events on any event queue. ... win_upgrade_sl Allows a process to set the sensitivity label of a window resource to a sensitivity label that dominates the existing sensitivity label. This privilege is interpreted only if the system is configured with Trusted Extensions.Ejemplo 6-14 Muestra de los privilegios en el shell actual
A cada usuario se le asigna el conjunto de privilegios básico de manera predeterminada. El conjunto límite predeterminado incluye todos los privilegios.
Las letras individuales que se visualizan hacen referencia a los siguientes conjuntos de privilegios:
Conjunto vigente de privilegios
Conjunto heredable de privilegios
Conjunto permitido de privilegios
Conjunto límite de privilegios
$ ppriv $$ 1200: -bash flags = <none> E: basic I: basic P: basic L: all $ ppriv -v $$ 1200: -bash flags = <none> E: file_link_any,file_read,file_write,net_access,proc_exec,proc_fork, proc_info,proc_session,sys_ib_info I: file_link_any,file_read,...,sys_ib_info P: file_link_any,file_read,...,sys_ib_info L: contract_event,contract_identity,...,sys_time
El signo de dólar doble ($$) transfiere el número de proceso del shell principal al comando. Esta lista no incluye privilegios que están restringidos a los comandos en un perfil de derechos asignado.
Ejemplo 6-15 Enumeración de los privilegios básicos y sus definiciones$ ppriv -vl basic file_link_any Allows a process to create hardlinks to files owned by a uid different from the process' effective uid. file_read Allows a process to read objects in the filesystem. file_write Allows a process to modify objects in the filesystem. net_access Allows a process to open a TCP, UDP, SDP or SCTP network endpoint. proc_exec Allows a process to call execve(). proc_fork Allows a process to call fork1()/forkall()/vfork() proc_info Allows a process to examine the status of processes other than those it can send signals to. Processes which cannot be examined cannot be seen in /proc and appear not to exist. proc_session Allows a process to send signals or trace processes outside its session. sys_ib_info Allows a process to perform read InfiniBand MAD (Management Datagram) operations.Ejemplo 6-16 Enumeración de los comandos con atributos de seguridad en sus perfiles de derechos
El perfil de usuario básico de Solaris incluye los comandos que permiten a los usuarios leer y escribir en CD-ROM.
$ profiles -l Basic Solaris User ... /usr/bin/cdrecord.bin privs=file_dac_read,sys_devices, proc_lock_memory,proc_priocntl,net_privaddr /usr/bin/readcd.bin privs=file_dac_read,sys_devices,net_privaddr /usr/bin/cdda2wav.bin privs=file_dac_read,sys_devices, proc_priocntl,net_privaddr All *