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