Virt-Manager – Habilitar acceso a usuario sin privilegios

Bueno, volviendo a retomar un curso de RHEL 6.3, me surgió una pequeña duda circunstancial, ¿cómo puedo permitir a un usuario sin privilegios el acceso al virt-manager para que pueda crear, modificar, destruir, arrancar, parar, etc.. una o varias máquinas virtuales? La respuesta era clara, o le doy el password de root (cosa que ni quiero, ni se debe 😛 ), o bien incluyo al usuario en el /etc/sudoers (tema que, por razones varias, no me apetecía), otra alternativa era incluir al usuario en el grupo libvirt y/o kvm, pero esto le daría acceso a gestionar los ficheros y directorios a los que dichos grupos tienen acceso. De pronto me encontré con algo bien distinto, ¿por qué no aporvechar PolicyKit paara permitir que un usuario sin privilegios pueda controlar algunas funciones de libvirt? Así que buscando en documentaciones me topé con las siguientes instrucciones:

 

vim /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla

[libvirt Management Access]
Identity=unix-user:username
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes

Lógicamente debemos cambiar <username> por el usuario que nos convenga. Alternativamente podremos permitir el acceso a un grupo con

Identity=unix-group:groupname

Por último debemos reiniciar el servicio libvirtd

service libvirtd restart

 

Espero que os haya gustado!!

Parted, GPT y LVM

Las limitaciones de la tabla de particiones IBM, limita a un máximo de 4 particiones primarias. Para poder disponer de más particiones, se implementó la partición “extendida” que permitía contener referencias a particiones lógicas, de ese modo podemos disponer de hasta un máximo de 15 particiones (3 primarias, 1 extendida y 11 lógicas).
Aún así, tenemos una pega, debido a que el tamaño de la partición se guarda en sólo 3 bytes, queda limitado a un máximo de 2TiB por partición.
Por ello es necesario usar otra tabla de particiones, la tabla GUID(GPT).
En esta tabla, podremos disponer de un máximo de 128 particiones, por lo que eliminamos la necesidad de crear particiones extendidas y lógicas. Además incrementamos el tamaño de la partición a 8ZiB.

EL comando fdisk sólo nos permite gestionar tablas de particiones IBM, así que si queremos crear y gestionar la tabla de particiones GPT deberemos utilizar la aplicación parted.

Abajo describo una  referencia práctica de uso de parted:

Con esto abrimos la aplicación parted sobre el dispositivo /dev/sda

image

Ahora vamos a crear la tabla de particiones GUID(GPT)

image

Creamos una primera partición de 200MB

image

Como será la partición de arranque, debemos aplicar el “flag” de boot

image

Voy a crear una partición que ocupe el resto del disco

image

Y voy a marcarla para trabajar con LVM

image

La versión de parted incluída en RHEL, todavía no tiene soporte para formatear sistemas de ficheros ext4, por lo que debemos darle formato desde la línea de comandos

image

En último lugar, preparo la estructura LVM para disponer de un esquema para una instalación básica:

image

Listo, ahora a instalar el sistema.

Partprobe y RHEL 6.X

En las versiones RHEL 5.X y anteriores, cuando gestinamos las particiones de los dipositivos con fdisk , se realiza una llamada a la función ioctl() que se encarga de avisar al kernel que la tabla de particiones de un dispositivo ha sido alterada. En ocasiones los recursos del sistema están sobrecargados y la llamada a la función no se realiza correctamente, por lo que nos vemos obligados a recargar las tablas de particiones manualmente con el comando partprobe.

Desde la versión 6.0 de RHEL, se encuentra disponible el paquete parted en su versión 2.1. Las librerías previas de parted tenían un bug que proporcionaba un successful return code en ciertos tipos de discos al ejecutar partprobe, pero que en realidad no había recargado la tabla de particiones. Ante el peligro que eso podía suponer en el dispositvo donde se encuentra nuestro sistema de ficheros raíz ( / ) , desde la versión 2.1 decidieron modificar el comportamiento para que al crear una partición en ese dispositivo la única opción que tuviéramos de recargar la tabla de particiones fuese reiniciar el sistema. Evidentemente, en sistemas en producción, esto puede resultar imposible y traería dolores de cabeza a cualquier sysadmin.

Este comportamiento no ha sido restaurado hasta la versión 2.3 del paquete parted. Pero en la reciente versión 6.3 de RHEL aún se utiliza la 2.1 de  parted.

¿Solución? Pues antes de tirarnos por un puente, o rompernos la cabeza contra el monitor, podemos utilizar otros recursos de gestión de particiones.

Un ejemplo preciso es el comando partx, miembro del paquete util-linux-ng, que tal y como la descripción dice:

The util-linux-ng package contains a large variety of low-level system
utilities that are necessary for a Linux system to function

nos ofrece una gran variedad de utilidades de bajo-nivel en el sistema.

Ok, y ahora ¿cómo usarlo?

Pues echando mano de las páginas del man relativas a partx, tendremos en consideración los siguientes ejemplos:

Recargar las tablas de particiones del dispositivo /dev/sda en el kernel:

dave@xserinfo # sudo cat /proc/partitions

major minor #blocks name

252    0       6291456   sda
252    1       262144     sda1
252    2       4694016   sda2

dave@xserinfo # sudo partx -a /dev/sda

dave@xserinfo # sudo cat /proc/partitions

major minor #blocks name

252    0       6291456   sda
252    1       262144     sda1
252    2       4694016   sda2
252    3       262144     sda3

Como se puede apreciar, sin necesidad de reiniciar el sistema, recargamos la tabla de particiones.

A la hora de eliminar una partición, nos encontraremos con el mismo problema, así que también haremos uso del comando partx para resolverlo:

dave@xserinfo # sudo cat /proc/partitions

major minor #blocks name

252    0       6291456   sda
252    1       262144     sda1
252    2       4694016   sda2
252    3       262144     sda3

dave@xserinfo # sudo partx -d –nr 3 /dev/sda

dave@xserinfo # sudo cat /proc/partitions

major minor #blocks name

252    0       6291456   sda
252    1       262144     sda1
252    2       4694016   sda2

La opción -d elimina una partición de la tabla en uso por el kernel, pero hemos de indicarle el número de partición con la opción –nr, en nuestro ejemplo partx -d –nr 3 /dev/sda. Pero no sólo podemos indicarle una única partición, sino que podemos indicar un rango de particiones, partx -d –nr 3-6 /dev/sda. Esto daría de baja las particiones 3, 4, 5 y 6 del dispositivo sda en el kernel, y sólo tendremos en cuenta que para poder darlas de baja deberán estar desmontadas, si no no las eliminará, pero si es una partición extendida…. DEBEREMOS TENER CUIDADO.

Resetear password de root

Bueno, este es una de esas tareas que todo administrador debe conocer al dedillo, bien porque se olvide de la contraseña o bien porque hayan vulnerado el sistema y cambien el password de root.

Durante el proceso de arranque, en la selección de kernel, podemos agregar parámetros al mismo para alterar el comportamiento del mismo. Uno de estos parámetros puede ser el runlevel.
Cuando aparezca la selección del kernel en el grub, debemos pulsar la tecla ESC para detener el timeout. En el menú resaltamos el kernel con las flechas up/down. Una vez elegido el kernel pulsamos la tecla “a” para agregar el parámetro “1” al final de la línea. Este parámetro arrancará nuestro sistema en runlevel 1, donde estaremos logueados como root sin necesidad de introducir password.
Una vez nos haya levantado la shell sólo hace falta ejecutar el comando passwd y elegir el nuevo password d root.

En RHEL 6, debido a SELinux, antes de cambiar el password debemos desactivar SELinux, así que ejecutaremos “setenforce 0

Ahora sólo nos hace falta ejecutar “init 3” para levantar todos los servicios o “init 5” para levantar el escritorio.

Certificaciones RHEL

Información general sobre el Examen RHCE/RHCSA

  • Es total y absolutamente práctico, no hay ninguna parte de teoria.
  • Consiste en la configuración de un servidor completo. Se corrige cuando todo el mundo haya acabado y NO se dice la nota en el momento. Cuando se acaba, la gente se puede ir directamente. El resultado se empaqueta, se cifra y se manda a Red Hat. Oficialmente el resultado se recibe dentro de 3 días laborables, aunque normalmente se recibe antes.
  • A diferencia de lo que pasaba con el examen en la versión RHEL5, están separados el RHCSA y el RHCE.
  • Para el examen solo se permite llevar un bolígrafo. Se proporcionará a los alumnos papel para que puedan escribir todo lo que quieran en él, pero luego ese papel se lo queda el examinador. No se permite nada más.
  • Hay que llevar DNI o Pasaporte, se recolectará al iniciar el examen, junto con móviles y PDAs. Todo ello se devolverá al terminar el examen.
  • El DVD de instalación oficial de Red Hat Enterprise Linux estará en todo momento accesible a través de la red. Se podrá acceder a los RPMs siempre que se quiera (a menos que la máquina no tenga red en ese momento).
  • La red se monitoriza para evitar conexiones no autorizadas.

 

Para pasar el examen se necesita lo siguiente

  • RHCSA: Conseguir un 70% en 2 horas y media.
  • RHCE: Conseguir un 70% en 2 horas.

 

Duración total del examen

  • RHCSA:
    • Empezar, rellenar formulario online, comprobar identidades: 30 minutos
    • Examen: 2 horas y media
    • Tiempo total: 3:00h. Si se empieza a las 10:00h, a las 13:00h normalmente se ha acabado
  • RHCE:
    • Empezar, rellenar formulario online, comprobar identidades: 30 minutos
    • Examen: 2 horas
    • Tiempo total: 2:30h. Si se empieza a las 10:00h, a las 12:30h normalmente se ha acabado

 

Consejos generales acerca del examen

  • El examen no es difícil en sí, pero si que hay que hacer muchas cosas en relativamente poco tiempo. Es absolutamente vital tener soltura con el sistema, sobre todo con la Ayuda del sistema. Si se da un día para hacer el examen, prácticamente todo el mundo lo pasaría, pero si se pierde demasiado tiempo buscando las cosas no se aprobará.
  • Repito: el examen es más una prueba de estrés, que de conocimientos, hay que hacer muchas cosas en poco tiempo.
  • Otra recomendación importante es dominar RPM, YUM y los repositorios. Con ello podemos ahorrar mucho tiempo durante la realización del examen.
  • El examen RHCSA es relativamente fácil, pero el RHCE es bastante difícil. Suelen aprobar un 85% y un 33% de la gente respectivamente, siempre que hayan asistido al curso asociado a cada examen. Si no se ha asistido a ningún curso, el porcentaje cae.
  • Dominar las herramientas de Ayuda del sistema de Red Hat Enterprise Linux es VITAL.
  • No pararse demasiado en las partes en las que tenemos dificultades es muy importante. Seguid con el examen, y cuando terminéis la primera vuelta, volved a esta parte con más calma.

 

http://www.es.redhat.com/training/course/guide/EX200 – Página de Red Hat acerca del examen RHCSA

http://www.es.redhat.com/training/course/guide/EX300 – Página de Red Hat acerca del examen RHCE

Fuente: ruiz-tapiador.com