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.
El Objetivo de este blog es mostrar ejemplos de configuraciones y procedimientos en la administración de Sistemas Operativos Unix(Solaris y Linux) y Bases de Datos Oracle. Los ejemplos ya han sido probados y utilizados en la implementacion de muchos ambientes.
Mostrando entradas con la etiqueta roles. Mostrar todas las entradas
Mostrando entradas con la etiqueta roles. Mostrar todas las entradas
lunes, 18 de julio de 2016
Suscribirse a:
Entradas (Atom)