Manejo de proyectos en Solaris

Proyectos en open Solaris

En estos días tuve la tarea de configurar un servidor que corre Solaris 10 y tuve un requerimiento algo especial; tenia que dividir a varios usuarios y asignarlos a proyectos diferentes con privilegios diferentes.

Antes de empezar, voy a aclarar un poco los conceptos y demás. Solaris tiene un subsistema llamado SRM (Solaris Resource Manager) y aunque no es una funcionalidad nueva, es fundamental si es usada en conjunto con Zonas u otras tecnologías. Esta función esta algo olvidada, ya muy pocos administradores lo ponen en practica ya sea por desconocimiento o por pereza, sin embargo es importante saber que existe. El manejador de recursos se implemento hace años para solucionar algunos inconvenientes de asignación de recursos a aplicaciones individuales, como por ejemplo: limitar la asignación de tiempo en el procesador para X proceso, para X usuario.

Los sistemas Unix siempre han tenido la habilidad de responder a multitud de tareas de manera simultanea en la misma maquina desde tiempos ancestrales pero nunca tuvo la flexibilidad para manejar de manera fina algunos aspectos. ¿Que ocurre si nuestro proceso se sale de control y se consume los recursos de la maquina hasta dejarla sin servicio?

Para poder entender como poder aplicar estas reglas en nuestro sistema debemos diferenciar las tareas, proyectos y zonas. Las tareas son un conjunto de procesos como por ejemplo un servidor web; un conjunto de procesos y actividades para poder correr un servicio web. Los projectos son una coleccion de tareas y las zonas son un grupo de uno o más proyectos.

Ya teniendo lo anterior claro, podemos entonces deducir que la idea global del manejo de recursos es agrupar un conjunto de procesos y actividades e imponerles ciertos limites en el sistema.

Por lo general, ya venimos incluidos en un proyecto cuando ingresamos al sistema:

[arpunk@hax:~%] id -p
uid=101(arpunk) gid=10(staff) projid=10(group.staff)
[arpunk@hax:~%]

Si cambiara a superusuario en mi maquina, entro a trabajar en otro grupo asignado a root.

[arpunk@hax:~%] ps -af -o pid,user,zone,project,taskid,args
PID USER ZONE PROJECT TASKID COMMAND
647 arpunk global system 0
745 arpunk global group.staff 77 irssi
2266 arpunk global group.staff 77 ssh arpunk@void
2323 arpunk global group.staff 77 ps -af -o pid,user,zone,project,taskid,args
[arpunk@hax:~%]

Y ahora los procesos con su respectivo proyecto (y zona). Podemos dividir así muchas aplicaciones y servicios de nuestra infraestructura sin necesidad de restringir a todo el sistema, solo basta con crear un proyecto.

[arpunk@hax:~%] projadd -p 1000 proyecto.prueba
[arpunk@hax:~%] projmod -c “Esta es una prueba” proyecto.prueba

Y asignarlo a los usuarios.

# usermod -K project=proyecto.prueba arpunk
# projmod -K “task.max-lwps=(privileged,10,deny)” proyecto.prueba

Y no importa cuantos fork() bombs haga ni cuanto intente ahogar recursos con ejecuciones (LWP), ya estoy limitado.

Espero hayan entendido lo valioso del manejo de recursos en Solaris. Este ha sido un ejemplo muy básico de todas las funcionalidades que esto trae, ya que puedo tunear todos los aspectos de mi maquina para proyectos y tareas, e inclusive jugar con configuraciones mucho más poderosas con zonas.

Después con algo de tiempo explicare funciones más avanzadas.


Si te ha gustado el post, compartelo y ayudanos a crecer.

Unete a nuestra Fanpage Siguenos en Twitter

Autor: DragoN

Ingeniero en Sistemas y Telecomunicaciones de la Universidad de Manizales. Information Security Researcher con más de 10 años de experiencias en Ethical Hacking, Pen Testing y Análisis Forense. Docente Universitario en Pre y Post-Grado, Speaker y Organizador de diferentes eventos de Seguridad Informática, Fundador del DragonJAR Security Conference y Fundador de DragonJAR SAS y de La Comunidad DragonJAR, una de las comunidades de seguridad informática mas grandes de habla hispana y referente en el sector.

Compartir este Artículo
  • roger

    Gran aporte amigo, y mas para un novato en esto.

    Mil gracias.

Congreso Hacker Colombia

Aprende ONLINE Técnicas HACKING y Seguridad Informática guiad@ por Profesionales RECONOCIDOS con más de 10 años de experiencia REAL en el campo de la Seguridad Informática

Toma acción !AHORA¡
miles ya lo han hecho

NUNCA te enviaremos spam.

  • No necesitas conocimiento previo (De 0 a Ninja)
  • Docentes reconocidos en el medio y con experiencia REAL
  • Clases ONLINE en VIVO que luego podrás repasar si lo deseas desde cualquier parte o cualquier dispositivo
  • Contenidos EXCLUSIVOS generados por nuestros docentes
  • Contacto constante con el docente por distintos medios, antes, durante y después de las clases
  • Laboratorios en linea para que nuestros alumnos practiquen sus conocimientos sin problemas
  • Exclusivo FORO VIP de Alumnos y Ex-Alumnos donde se continúa el aprendizaje y se comparte conocimiento
  • Te entregamos un diploma de certificación por cada curso
  • Miles de ex-alumnos felices