Certificaciones

Certificaciones
Certificaciones

lunes, 18 de julio de 2016

Administración de Privilegios y Roles en Solaris, RBAC

Se puede dar privilegios especificos a usuarios no root para que ejecuten tareas avanzadas o solo permitidas a usuarios root, esto se puede completar con los siguientes y sencillos pasos:
1.
Crear una Cuenta de Role.
2.
Setear Password a la cuenta Role.
3.
Editar el archivo /etc/security/prof_attr y crear o buscar el profile con la descripcion de las tareas que queremos permitir ejecutar al usuario.
4.
Editar el archivo /etc/security/exec_attr para ver o definir lo que el profile puede hacer o ejecutar.
5.
Asociar el profile con la cuenta de role con el siguiente comando /usr/bin/rolemod.
6.
Agregar el role al usario con el comando usermod.

Ejemplo:

Usar RBAC para permitir a un usuario general o no root reiniciar o apagar el servidor en ventanas de mantenimiento.
Rolename:  mantenimiento
Username:  operador
Profile Name: Maintenance and Repair

1. Crear la cuenta de role:

# roleadd -d /export/home/mantenimiento -m mantenimiento
             
Asignar password a la cuenta de role

# passwd mantenimiento
        
2. validar el profil Maintenance and Repair.

Ver el archivo /etc/security/prof_attr y buscar la linea de Maintenance and Repair:

Maintenance and Repair:::Maintain and repair a system:auths=solaris.smf.manage.system-log,solaris.label.range,solaris.admin.logsvc.write,solaris.admin.logsvc.read,solaris.compsys.write,solaris.compsys.read,solaris.system.shutdown;help=RtMaintAndRepair.html

3. Validar los atributos de ejecución en el archivo /etc/security/exec_attr.
Este define el comando o script a ejecutar y el uid que el role asume al ejecutarlo.

Ver el archivo /etc/security/exec_attr:

Maintenance and Repair:suser:cmd:::/sbin/bootadm:uid=0
Maintenance and Repair:suser:cmd:::/sbin/init:euid=0
Maintenance and Repair:suser:cmd:::/usr/bin/date:euid=0
Maintenance and Repair:suser:cmd:::/usr/bin/ldd:euid=0
Maintenance and Repair:suser:cmd:::/usr/bin/mdb:euid=0
Maintenance and Repair:suser:cmd:::/usr/bin/vmstat:euid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/eeprom:euid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/halt:euid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/poweroff:uid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/prtconf:euid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/reboot:uid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/syslogd:euid=0

4. Use el comando rolemod para agregar los profiles Maintenance and Repair y All al role de la siguiente manera:

# rolemod -P "Maintenance and Repair",All Mantenimiento

5. El comando rolemod actualiza el archivo /etc/user_attr file. Verifique que los cambios fueron hechos.

# more /etc/user_attr 

mantenimiento::::type=role;profiles=Maintenance and Repair,All
operador::::type=normal;roles=mentenimiento

Aqui puede ver facilmente que el role mantenimiento a sido asignado al usuario operador. El profile Maintenance and Repair esta ahora asociado al role mantenimiento.

6. Use el comando usermod para agregar el role al usuario.

# usermod -R mantenimiento <username>

Listo!

Instrucciones para el Usuario:

Debe estar logeado con la cuenta de usuario requerida (en este caso usuario operador).

Cambiar el usuario al Role de la siguiente manera:

$ su - mantenimiento
Password: <enter password>

Una vez que se ha autenticado con el Role puede ejecutar cualquier comando del Profile Maintenance and Repair de la siguiente manera:

$ /sbin/init 5 #para apagar
$ /usr/sbin/reboot #para reiniciar

etc!

Para salir del Role y regresar al usuario inicial escriba exit.

No hay comentarios:

Publicar un comentario