Protección de los usuarios y los procesos en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Julio de 2014
 
 

Enumeración de privilegios

  • 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:

E

Conjunto vigente de privilegios

I

Conjunto heredable de privilegios

P

Conjunto permitido de privilegios

L

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
   *