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
 
 

Asignación de derechos a usuarios y roles

En esta sección, se describen los comandos que permiten crear y modificar roles y usuarios. Para crear o modificar los perfiles de derechos, consulte Cómo crear un perfil de derechos y Cómo clonar y modificar un perfil de derechos del sistema.

Para obtener información sobre los roles, consulte Aspectos básicos del usuario y derechos de procesos.

    Las principales acciones en la creación y modificación de roles y usuarios son los siguientes:

  • Creación de roles

  • Creación de un usuario de confianza

  • Modificación de los derechos de un rol

  • Modificación de los derechos de un usuario

  • Activación de los usuarios para utilizar su propia contraseña para asumir un rol

  • Cambio de una contraseña de rol

  • Supresión de un rol

Creación de roles

Si va a utilizar roles, tiene varias opciones. Puede instalar los roles predefinidos de ARMOR y utilizarlas de forma exclusiva. Además, puede crear roles y asignarles contraseñas. Puede utilizar roles ARMOR con los roles que usted crea.

Para utilizar roles Armor, consulte Example 3–1.

Para crear sus propios roles, utilice el comando roleadd. Para obtener una descripción detallada de este comando, consulte la página del comando man roleadd(1M).

Por ejemplo, los siguientes comandos crean un rol de administrador de usuario local con un directorio principal y un shell de inicio de sesión pfbash y crean una contraseña para el rol:

# roleadd -c "User Administrator role, local" \
-m -K profiles="User Security,User Management"  useradm
80 blocks
# ls /export/home/useradm
local.bash_profile     local.login     local.profile
# passwd useradm
Password: xxxxxxxx
Confirm Password: xxxxxxxx

donde

–c comment

Describe el rol.

–m

Crea un directorio principal.

–K profiles=

Asigna uno o varios perfiles de derechos al rol. Para la lista de perfiles de derechos, consulte Lista de perfiles de derechos.

rolename

El nombre del rol. Para ver las restricciones en cadenas aceptables, consulte la página del comando man roleadd(1M).


Notas -  Un rol se puede asignar a más de un usuario. Por lo tanto, un administrador, normalmente, crea una contraseña de rol y proporciona a los usuarios la contraseña de rol fuera de banda. Para conocer una alternativa a la contraseña de rol, consulte Activación de los usuarios para que usen su propia contraseña para la contraseña del rol, Example 3–16, and Example 3–17.
Ejemplo 3-1  Uso de roles ARMOR

En este ejemplo, el administrador de la seguridad instala los roles que están definidos por el ARMOR estándar. El administrador verifica que los nombres de roles no entren en conflicto con cualquier cuenta existente y, a continuación, instala el depósito de paquetes, ve las definiciones de roles y asigna los roles a usuarios de confianza.

    En primer lugar, el administrador garantiza que el siguiente UID y los nombres no existen en el servicio de nombres:

  • 57 auditadm

  • 55 fsadm

  • 58 pkgadm

  • 53 secadm

  • 56 svcadm

  • 59 sysop

  • 54 useradm

Después de verificar que los UID y los administradores de los nombres no están en uso, el administrador instala el depósito de paquetes.

# pkg install system/security/armor

El depósito de paquetes crea siete roles y directorios principales locales en el directorio /export/home.

Para ver los derechos de cada función, el administrador puede enumerar los perfiles que están asignados a cada rol.

# profiles auditadm
# profiles fsadm
# profiles pkgadm
# profiles secadm
# profiles svcadm
# profiles sysop
# profiles useradm

Estas asignaciones de derechos no se pueden modificar. Para crear una configuración diferente de derechos, debe crear nuevos roles y, a continuación, crear nuevos perfiles de derechos mediante los pasos descritos en Cómo clonar y modificar un perfil de derechos del sistema.

Por último, el administrador asigna los roles a los usuarios de confianza. Las propias de los usuarios se utilizan las contraseñas para autenticar al rol. Algunos usuarios se asignan más de un rol. Los roles cuyas tareas dependen del tiempo se asignan a más de un usuario de confianza.

# usermod -R=auditadm adal
# usermod -R=fsadm,pkgadm bdewey
# usermod -R=secadm,useradm cfoure
# usermod -R=svcadm ghamada
# usermod -R=svcadm yjones
# usermod -R=sysop hmurtha
# usermod -R=sysop twong
Ejemplo 3-2  Creación de un rol de administrador de usuarios en el repositorio LDAP

El administrador crea un rol de administrador de usuarios en LDAP. El usuario proporciona una contraseña al asumir el rol y, a continuación, no necesita proporcionar una contraseña para comandos individuales.

# roleadd -c "User Administrator role, LDAP" -m -S ldap \
-K profiles="User Security,User Management"  useradm
Ejemplo 3-3  Creación de roles para la separación de tareas

El administrador crea dos roles. El rol usermgt puede crear usuarios, darles directorios principales y realizar otras tareas que no son de seguridad. El rol usersec no puede crear usuarios, pero puede asignar contraseñas y cambiar otras asignaciones de derechos. Ningún rol puede definir indicadores para usuarios o roles o cambiar la contraseña de un rol. El rol root, debe realizar esas acciones.

# roleadd -c "User Management role, LDAP" -s /usr/bin/pfksh \
-m -S ldap -K profiles="User Management"  usermgt
# roleadd -c "User Security role, LDAP" -s /usr/bin/pfksh \
-m -S ldap -K profiles="User Security"  usersec

El administrador garantiza que se necesitan dos personas para crear cada usuario común en Example 3–5.

Ejemplo 3-4  Creación y asignación de un rol para administrar los servicios criptográficos

En este ejemplo, el administrador en una red LDAP crea un rol para administrar la estructura criptográfica y asigna el rol al UID 1111.

# roleadd -c "Cryptographic Services manager" \
-g 14 -m -u 104 -S ldap -K profiles="Crypto Management" cryptmgt
# passwd cryptmgt
New Password: xxxxxxxx
Confirm password: xxxxxxxx 
# usermod -u 1111 -R +cryptmgt

El usuario con el UID 1111 inicia sesión, luego asume el rol y muestra los derechos asignados.

% su - cryptmgt
Password: xxxxxxxx
# profiles -l
      Crypto Management
          /usr/bin/kmfcfg            euid=0
          /usr/sbin/cryptoadm        euid=0
          /usr/sfw/bin/CA.pl         euid=0
          /usr/sfw/bin/openssl       euid=0
#

Para obtener información sobre la estructura criptográfica, consulte Capítulo 1, Estructura criptográfica de Gestión de cifrado y certificados en Oracle Solaris 11.2 . Para administrar la estructura, consulte Administración de la estructura criptográfica de Gestión de cifrado y certificados en Oracle Solaris 11.2 .

Creación de un inicio de sesión para un usuario de confianza

Se utiliza el useradd para crear un inicio de sesión. Para obtener una lista completa de los argumentos para el comando useradd, consulte la página del comando man useradd(1M). Los argumentos relacionados con los derechos para el comando son similares al comando roleadd, con la agregación de la opción –R rolename.

Si asigna un rol a un usuario, el usuario puede utilizar los derechos del rol el después de asumir el rol. Por ejemplo, el comando siguiente crea un usuario de confianza que puede asumir el rol useradm que creó en Creación de un inicio de sesión para un usuario de confianza.

# useradd -c "Trusted Assistant User Manager user" -m -R useradm jdoe
80 blocks
# ls /export/home/jdoe
local.bash_profile     local.login     local.profile

donde

–s shell

Determina el shell de inicio de sesión para username. Este shell debe ser un shell de perfil, como pfbash. Por motivos para asignar un shell de perfil a un usuario de confianza, consulte Consideraciones de uso al asignar derechos. Para obtener una lista de shells de perfiles, consulte la página del comando man pfexec(1).

–R rolename

Asigna el nombre de un rol local existente.

Para obtener más ejemplos, consulte Mapa de tareas para la configuración y gestión de cuentas de usuario mediante el uso de la interfaz de línea de comandos de Gestión de las cuentas de usuario y los entornos de usuario en Oracle Solaris 11.2 .

Modificación de derechos de un usuario

Utilizar el comando usermod para modificar una cuenta de usuario. Para obtener una lista completa de los argumentos para el comando usermod, consulte la consulte la página del comando man usermod(1M). Los argumentos relacionados con los derechos para el comando son similares al comando useradd.

Si asigna un perfil de derechos a un usuario, el usuario puede utilizar los derechos después de que el usuario abre un shell de perfil. Por ejemplo, asigna un perfil de derechos a un usuario:

# usermod -K profiles="User Management" kdoe

Los cambios entran en vigencia a partir del siguiente inicio de sesión del usuario. Para que los usuarios aprendan a utilizar sus derechos asignados, remítalos a Uso de sus derechos administrativos asignados.

Ejemplo 3-5  Agregar un rol a un usuario

En este ejemplo, el administrador garantiza que se necesitan dos usuarios de confianza para crear los usuarios comunes. Los roles fueron creados en Example 3–3.

# usermod -R +useradm jdoe
# usermod -R +usersec mdoe

Modificación de derechos de un rol

Utilizar el comando rolemod para modificar una cuenta de rol. Para obtener una lista completa de los argumentos para el comando rolemod, consulte la página del comando man rolemod(1M). Los argumentos relacionados con los derechos para el comando son similares al comando roleadd.

Los valores de los pares key=value, y las opciones –A, –P y –R pueden ser modificadas por un signo menos () o más (). El signo indica que se va a restar el valor de los valores asignados actualmente. El signo indica que se va a agregar el valor a los valores asignados actualmente. Para perfiles de derechos, el valor se antepone a la lista de perfiles actual. Para consultar los efectos de un perfil de derechos anterior, consulte Orden de búsqueda para derechos asignados.

Ejemplo 3-6  Agregación de un perfil de derechos como el perfil de derechos del rol

Por ejemplo, anteponga un perfil de derechos al rol useradm:

# rolemod -K profiles+="Device Management" useradm
# profiles useradm
useradm:
Device Management
User Management
User Security
Ejemplo 3-7  Reemplazar los perfiles asignados del rol local

En este ejemplo, el administrador de la seguridad modifica el rol prtmgt para incluir el perfil de derechos de VSCAN después del perfil de gestión de impresoras.

# rolemod -c "Handles printers and virus scanning" \
-P "Printer Management,VSCAN Management,All" prtmgt
Ejemplo 3-8  Asignación de privilegios directamente a un rol

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

# rolemod -K defaultpriv+='proc_clock_highres' realtime

Los valores de la palabra clave defaultpriv se encuentran en la lista de privilegios de los procesos del rol en todo momento.

Activación de los usuarios para que usen su propia contraseña para la contraseña del rol

Para activar a los usuarios para que usen su propia contraseña en lugar de una contraseña de rol al asumir un rol, modifique el rol.

El siguiente comando activa todos los usuarios que tienen asignado el rol useradm para utilizar su propia contraseña al asumir cualquier rol asignado, incluido el rol useradm.

# rolemod -K roleauth=user useradm

Cambio de una contraseña de rol

Debido a que un rol se puede asignar a varios usuarios, los usuarios a los que se asigna un rol no pueden cambiar la contraseña del rol. Debe tener el rol root para cambiar una contraseña de rol.

# passwd useradm
Enter useradm's password: xxxxxxxx
New: xxxxxxxx
Confirm: xxxxxxxx

Si no especifica un repositorio, se cambia la contraseña en todos los repositorios.

Para conocer más opciones de comandos, consulte la página del comando man passwd(1).

Ejemplo 3-9  Cambiar la contraseña de un rol en un repositorio específico

En el siguiente ejemplo, el rol root cambia la contraseña del rol devadmin.

# passwd -r files  devadmin
New password: xxxxxxxx
Confirm password: xxxxxxxx

En el ejemplo siguiente, el rol root cambia la contraseña del rol devmgt en el servicio de nombres LDAP.

# passwd -r ldap devadmin
New password: xxxxxxxx
Confirm password: xxxxxxxx

Supresión de un rol

Al suprimir un rol, el rol inmediatamente se vuelve no utilizable.

# roledel useradm

A los usuarios que actualmente están realizando tareas administrativas en el rol se le impedirá continuar. El comando profiles muestra la siguiente salida:

useradm # profiles
Unable to get user name