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
 
 

La ampliación de los derechos de usuario

Ejemplo 3-10  Creación de un usuario que puede administrar DHCP

El administrador de la seguridad crea un usuario que puede administrar DHCP.

# useradd -P "DHCP Management" -s /usr/bin/pfbash -S ldap  jdoe

Debido a que el usuario tiene asignado pfbash como el shell de inicio de sesión, los derechos en el perfil de derechos de gestión de DHCP siempre se evalúan para que los comandos administrativos de DHCP se realicen correctamente.

Ejemplo 3-11  Requerir que un usuario escriba la contraseña antes de administrar DHCP

En este ejemplo, el administrador de la seguridad requiere que jdoe proporcione una contraseña antes de gestionar DHCP.

# usermod -K auth_profiles="DHCP Management" profiles="Edit Administrative Files" jdoe

Cuando jdoe escribe un comando DHCP, aparece el indicador de contraseña. Después de autenticar jdoe, el comando DHCP termina. En orden de búsqueda, los perfiles de derechos autenticados se procesan antes de los perfiles normales.

jdoe% dhcpconfig -R 120.30.33.7,120.30.42.132
Password: xxxxxxxx  
/** Command completes **/
Ejemplo 3-12  Asignación de autorizaciones directamente a un usuario

En este ejemplo, el administrador de seguridad crea un usuario local que puede controlar el brillo de la pantalla.

# useradd -c "Screened KDoe, local" -s /usr/bin/pfbash \
-A solaris.system.power.brightness  kdoe

Esta autorización se agrega a las asignaciones existentes del usuario.

Ejemplo 3-13  Asignación de autorizaciones a un rol

En este ejemplo, el administrador de la seguridad crea un rol que puede cambiar la información de configuración para el servicio de servidor DNS.

# roleadd -c "DNS administrator role" -m -A solaris.smf.manage.bind" dnsadmin
Ejemplo 3-14  Asignación de privilegios directamente a un usuario

En este ejemplo, el administrador de la seguridad confía al usuario kdoe un privilegio muy específico que afecta la hora del sistema. Para asignar el privilegio a un rol, consulte Example 3–8.

# usermod -K defaultpriv='basic,proc_clock_highres' kdoe

Los valores de la palabra clave defaultpriv reemplazan los valores existentes. Por lo tanto, para que el usuario conserve los privilegios basic, se especifica el valor basic. En la configuración predeterminada, todos los usuarios tienen privilegios básicos. Para ver la lista de privilegios básicos, consulte Enumeración de privilegios.

El usuario puede ver el privilegio agregado y su definición.

kdoe% ppriv -v $$
1800:   pfksh
flags = <none>
        E: file_link_any,…,proc_clock_highres,sys_ib_info
        I: file_link_any,…,proc_clock_highres,sys_ib_info
        P: file_link_any,…,proc_clock_highres,sys_ib_info
        L: cpc_cpu,dtrace_kernel,dtrace_proc,dtrace_user,...,win_upgrade_sl
% ppriv -vl proc_clock_highres
        Allows a process to use high resolution timers.
Ejemplo 3-15  Agregación a privilegios básicos de un rol

En el ejemplo siguiente, el rol realtime tiene privilegios asignados directamente para gestionar los programas relacionados con la fecha y la hora. Se asignó proc_clock_highres a realtime en Example 3–8.

# rolemod -K defaultpriv='basic,sys_time' realtime
% su - realtime
Password: xxxxxxxx
# ppriv -v $$
1600:   pfksh
flags = <none>
        E: file_link_any,...,proc_clock_highres,sys_ib_info,sys_time
        I: file_link_any,...,proc_clock_highres,sys_ib_info,sys_time
        P: file_link_any,...,proc_clock_highres,sys_ib_info,sys_time
        L: cpc_cpu,dtrace_kernel,dtrace_proc,dtrace_user,...,sys_time
Ejemplo 3-16  Activación de un usuario para que use su propia contraseña para la contraseña del rol

De manera predeterminada, los usuarios deben escribir la contraseña del rol para asumir un rol. Mediante la solicitud de una contraseña de usuario, el administrador hace que asumir un rol en Oracle Solaris sea similar a asumir un rol en un entorno de Linux.

# rolemod -K roleauth=user auditrev

Para asumir este rol, los usuarios asignados pueden usar ahora sus propias contraseñas, no la contraseña que se creó específicamente para el rol.

Si se le han asignado otros roles al usuario, la contraseña del usuario también permite la autenticación ante esos roles.

Ejemplo 3-17  Modificación de un perfil de derechos para permitir que un usuario use su propia contraseña para la contraseña del rol
# profiles -p "Local System Administrator"
profiles:Local System Administrator> set roleauth="user"
profiles:Local System Administrator> end
profiles:Local System Administrator> exit

Cuando un usuario al que se le asigna el perfil de derechos de administrador del sistema local desea asumir el rol, se le solicita una contraseña. En la secuencia siguiente, el nombre del rol es admin:

% su - admin
Password: xxxxxxxx
# /** You are now in a profile shell with administrative rights**/
Ejemplo 3-18  Cambio del valor de roleauth por un rol en el repositorio LDAP

En este ejemplo, el rol root permite a todos los usuarios que pueden asumir el rol secadmin utilizar su propia contraseña al asumir un rol. Esta habilidad se concede a estos usuarios para todos los sistemas que están gestionados por el servidor LDAP.

# rolemod -S ldap -K roleauth=user secadmin
Ejemplo 3-19  Activación de un usuario de confianza para leer los archivos de contabilidad ampliada

Puede activar un usuario o un grupo de usuarios de confianza para leer un archivo que es propiedad de la cuenta root. Este derecho puede ser útil para los usuarios que pueden ejecutar una aplicación administrativa que incluye un archivo propiedad de root. En este ejemplo, se agregan una o más archivos de comandos Perl para el perfil de derechos de gestión de red de contabilidad ampliada.

Después de asumir el rol root, el administrador crea un perfil de derechos que agrega la capacidad para leer archivos contables cuyos nombres comiencen con network.

El perfil siguiente utiliza la política de privilegio extendido para otorgar el privilegio file_dac_read a una secuencia de comandos que puede acceder a archivos /var/adm/exacct/network* solamente. Este perfil agrega el perfil de derechos de gestión de red de contabilidad ampliada existente como un perfil suplementario.

# profiles -p "Extended Accounting Perl Scripts"
profiles:Extended Accounting Perl Scripts > 
set desc="Perl Scripts for Extended Accounting"
... Scripts> add profiles="Extended Accounting Net Management"
... Scripts> add cmd=/usr/local/bin/exacctdisp.pl
... Scripts:exacctdisp.pl> set privs={file_dac_read}:/var/adm/exacct/network*
... Scripts:exacctdisp.pl> end
... Scripts> commit
... Scripts> exit

Para secuencias de comandos de ejemplo, consulte Uso de la interfaz de Perl para libexacct de Administración de la gestión de recursos en Oracle Solaris 11.2 .

Después de revisar las entradas del perfil de derechos entradas en busca de errores tipográficos, omisiones o repeticiones, el administrador asigna el perfil de derechos de secuencias de comandos Perl de contabilidad ampliada a un rol o un usuario.

# profiles -p "Extended Accounting Perl Scripts" info
Found profile in files repository.
name=Extended Accounting Perl Scripts
desc=Perl Scripts for Extended Accounting
profiles=Extended Accounting Net Management
cmd=/usr/local/bin/exacctdisp.pl
privs={file_dac_read}:/var/adm/exacct/network*
# rolemod -K profiles+="Extended Accounting Perl Scripts" rolename
# usermod -K profiles+="Extended Accounting Perl Scripts" username
Ejemplo 3-20  Activación de una cuenta no root para leer un archivo de propiedad de root.

En este ejemplo, el administrador crea un perfil de derechos que utiliza la política de privilegio extendido para permitir que los usuarios y roles autorizados lean el archivo /var/adm/sulog que es propiedad de root. El administrador agrega los comandos que el usuario puede utilizar para leer el archivo. No se pueden utilizar comandos que no aparezcan en la lista, como el comando head.

# profiles -p "Read sulog File"
profiles:Read sulog File 
set desc="Read sulog File"
... File> add profiles="Read Log Files"
... File> add cmd=/usr/bin/cat
... File:cat> set privs={file_dac_read}:/var/adm/sulog
... File:cat> end
... File> add cmd=/usr/bin/less
... File:less> set privs={file_dac_read}:/var/adm/sulog
... File:less> end
... File> add cmd=/usr/bin/more
... File:more> set privs={file_dac_read}:/var/adm/sulog
... File:more> end
... File> add cmd=/usr/bin/page
... File:page> set privs={file_dac_read}:/var/adm/sulog
... File:page> end
... File> add cmd=/usr/bin/tail
... File:tail> set privs={file_dac_read}:/var/adm/sulog
... File:tail> end
... File> add cmd=/usr/bin/view
... File:head> set privs={file_dac_read}:/var/adm/sulog
... File:head> end
... File> commit
... File> exit

El comando view permite al usuario leer un archivo pero no editarlo.