domingo, 26 de noviembre de 2017

Como ocultar el usuario Libvirt Qemu en Ubuntu



Hola, hoy os vengo a dar una solución, para cuando después de instalaros el entorno de programación Android Studio en la distribución Ubuntu. Veis que os aparece un nuevo usuario creado.
Concretamente el usuario "Libvirt Qemu".

Vaya, que ocurre aquí. Yo no he creado ninguna cuenta de usuario nueva, pensaréis.

Y es que esta cuenta se crea para poder realizar virtualizaciones de los distintos dispositivos de la plataforma Android, en la aplicación Android Studio.

El problema es que esta cuenta debería de ser oculta.

Para poder ver cuantas cuentas tenéis creadas en vuestro sistema operativo os basta con mirar el archivo "passwd" con el comando "cat":

$ cat /etc/passwd



Veis el resultado por consola?, que, estáis alucinando, verdad?
Os salen unas cuantas y vosotros no las habéis creado todas. No os asustéis.
Para que ciertos programas puedan acceder al sistema operativo para ejecutar una serie de  acciones deben tener creada una cuenta de acceso.

Como veis en el listado, la estructura de cualquier línea del archivo contiene lo siguiente, tomaremos como ejemplo mi usuario "belinux", el usuario "Libvirt Qemu" (protagonista de este artículo) y el usuario "Libvirt Dnsmasq":

belinux:x:1001:1001:Belinux,,,:/home/belinux:/bin/bash

libvirt-qemu:x:64055:136:Libvirt Qemu,,,:/var/lib/libvirt:/bin/false

libvirt-dnsmasq:x:127:137:Libvirt Dnsmasq,,,:/var/lib/libvirt/dnsmasq:/bin/false

Empecemos a definir cada campo:

Los dos puntos (:) son simplemente separación de campos.

1) Login ID. se trata del nombre con el que se accede a la cuenta. En la primera linea es belinux, en la segunda es libvirt-qemu y en la tercera es libvirt-dnsmasq.

2) x Representa el password encriptado. Anteriormente aparecía de verdad el password encriptado en este apartado, pero por razones de seguridad ahora se encuentra en el archivo /etc/shadow. Es posible que algunas versiones de Unix todavía lo incluyan, pero en general es algo que ya no se usa. Hay que recordar que con un simple cat /etc/passwd cualquier usuario podía tener acceso al código encriptado, y con fuerza bruta podía descifrarlo.

3) El número de identificación de usuario (UID number). Por comodidad, los usuarios acceden a su cuenta con un nombre elegido por ellos; pero para Unix los usuarios son representados por un número que en la mayoría de los sistemas va de 0 a 65535, con 0 – 99 reservado para archivos del sistema. El usuario root tiene reservado el número 0. Como lo que realmente importa para Unix no es el nombre sino el ID, entonces cualquier usuario con un número 0 tiene privelegios de root. (Aquí está el meollo de la cuestión).
Como veis en la primera linea a belinux se le ha asociado el UID 1001, en la segunda linea a libvirt-qemu se le asocia el UID 64055 y en la tercera al usuario libvirt-dnsmasq se le asocia el UID 127.

4) Número de identificación del grupo (GID number). Representa el grupo al cual es asignado el usuario en un principio. Este número no es único, y muchos usuarios pueden compartirlo sin problemas.
Como veis en belinux es 1001 exactamente igual que el UID, en libvirt es 136 y en libvirt-dnsmasq es 137.

5) Nombre de usuario, comentarios y datos adicionales de la cuenta. Incluye el nombre del usuario o información general que se pide al momento de crear el usuario. Este campo puede estar en blanco. Tampoco es conveniente incluir información delicada, porque todos podrán verla.
En nuestro caso  es Belinux, Libvirt Qemu y Libvirt Dnsmasq

6) El directorio en el que se inicia la sesión. Generalmente este campo contiene algo como /home/nombredeusuario indicando que la cuenta de juanito está montada en el directorio home.
En nuestro caso para Belinux es /home/belinux, para Libvirt Qemu es /var/lib/libvirt, y para Libvirt Dnsmasq es /var/lib/libvirt/dnsmasq.

7) El shell de login del usuario. Necesita ser una de las contenidas en el archivo /etc/shell. Los usuarios de servicios y usuarios con permisos limitados no deben tener shell, es decir iniciar sesión en consola, normalmente se les deja con /usr/bin/nologin o /bin/false.

En nuestro caso para Belinux es /bin/bash, para  Libvirt Qemu es /bin/false, y para Libvirt Dnsmasq es /bin/false.

Explicado lo anterior vamos al lio. Fijaros en esta linea del usuario Libvirt Qemu:

libvirt-qemu:x:64055:136:Libvirt Qemu,,,:/var/lib/libvirt:/bin/false


Mirad que número de UID mas alto se le ha asignado. El 64055. Cuando el número UID es igual o superior a 1000 el usuario es visto.

Solución: Vamos a asignarle un número de UID mas bajo que 1000. Le asignaremos el número UID 128, ya que no lo tiene ningún otro usuario y es además correlativo.
Como? con el siguiente comando:

$ sudo usermod -u 128 libvirt-qemu

128 es el nuevo número de UID y al usuario de login libvirt-qemu.

si volvéis a hacer un listado:

$ cat /etc/passwd



Veréis que ya tiene asignado el nuevo número y tachaaaaan, ya no os aparece como usuario en el desplegable cuando vais a apagar el equipo.

Espero os sirva de ayuda y hasta la próxima.

4 comentarios:

  1. Por curiosidad lo hice y funciono! gracias!!!

    ResponderEliminar
    Respuestas
    1. Muy bien por ti el ser curioso. Me alegro de que solucionaras tu problema.
      Saludos black full.

      Eliminar
  2. Muchas gracias Belinux,

    A mi también me funcionó y aprendí un poco más del funcionamiento de Ubuntu.

    Un saludo,

    ResponderEliminar
    Respuestas
    1. Gracias, felicidades y a continuar aprendiendo de GNU/Linux.

      Eliminar

Gracias por participar en este blog.