lunes, 7 de diciembre de 2020

Bailando con usuarios y grupos

Metido con mi VirtualBox, que no me reconocía las carpetas compartidas, empecé a aplicar esto que había escrito este mismo año, pero que ya no me acordaba de nada, incluso tuve que re-escribir lo de las GuestAdditions, para aclararlo mejor (porque el problema al parecer era ese, que no tenía instaladas (o actualizadas) las GuestAdditions)… y resulta que me volví a liar un poco con el tema de usuarios y grupos, que son conceptos que apenas utilizo, y que se me atragantan cada vez que topo con ellos.
Así que me apetece crear una entrada para recoger diversos conceptos que he ido desperdigando a lo largo del Blog. Y, como siempre, llamaré al compilatorio ‘Bailando con…’


Bueno el primer concepto que, de paso, voy a dejar claro, y no se si es un ‘bug’ de Debian, o alguna historia rara, es que si escribes en la consola de root ‘adduser’ (o ‘useradd’, o similar)… te puede saltar el mensaje de que no encuentra ese comando. Porque, si se busca en Google por (por ejemplo) ‘no funciona adduser’, se ve que hay muchas referencias.
Bien, pues parece ser que lo más sencillo, si pasa esto, es entrar en consola de root escribiendo
su -       (o bien ‘su – root’ con espacio antes y después del guión)
y luego poner la contraseña, etc. Porque así entras en una consola de root completa o sea, ‘como dios manda’. Y entonces ya funciona.


Dicho esto, centrándome en el tema de usuarios y grupos, estos son unos primeros conceptos básicos, que copio, pego y extracto:
Linux es un sistema multiusuario, puede procesar servicios, simultáneamente, a varios usuarios, y para eso se necesita tener fijado el concepto de usuario, y de grupo, ya que se utilizan para controlar los permisos de acceso a los archivos, directorios, periféricos, etc del sistema. Por cierto, sobre los permisos, hablaba, por ejemplo, aquí.
Un apunte más: en los sistemas UNIX/Linux, todos los usuarios tienen asignado un identificador único (ID) de Usuario (el UID) y todos los grupos, un identificador de cada Grupo (en GID).

Y aclarando el concepto: los grupos se utilizan en Linux para organizar a los usuarios. Una definición muy clara del concepto ‘grupo’ es decir que, sencillamente, los grupos son ‘conjuntos de cuentas de usuarios que comparten permisos’.
Y vamos ya con las preguntas básicas…

¿Cómo saber los grupos que tiene habilitados nuestro Debian…?
Pues muy sencillo, basta escribir, en consola...
cat /etc/group
que nos los indicará (un grupo en cada línea) y, por este orden, separados por 2 puntos, el nombre del grupo, contraseña (x, opcional), ID del grupo (GID) y, finalmente, si son específicos, los nombres de los usuarios que pertenecen al grupo (separados por comas). Por ejemplo… ‘vboxusers:x:127:doc, invitado’


¿Y cómo saber los usuarios que tengo activados?
Pues editando el archivo /etc/passwd, por ejemplo, como antes, con cat:
cat /etc/passwd
Y se ve algo como estos ejemplos:
root:x:0:0:root:/root:/bin/bash
clamav:x:115:123::/var/lib/clamav:/bin/false
lightdm:x:114:122:Light Display Manager:/var/lib/lightdm:/bin/false
doc:x:1000:1000:doc,,,:/home/doc:/bin/bash
invitado:x:1001:1001:,,,:/home/invitado:/bin/bash

(recordando que llamamos ‘usuario’ a todo lo que puede acceder al sistema de manera legitima, el archivo informa de todos los que hay, y de lo que puede hacer una vez dentro del sistema. Así que, separados por 2 puntos, este archivo nos indica: el usuario (o cuenta) o sea, el ‘login’, si tiene contraseña (x), el UID de esa cuenta, el GID del grupo principal al que pertenece, el nombre del usuario, el directorio de trabajo que usa y el intérprete de comando (shell) de dicho usuario).

¿Cómo se crea un usuario?
sudo adduser nombre_usuario
(seguir el proceso: contraseña, etc, etc).
¿Y, si queremos, en el futuro, cambiarle la contraseña?
sudo passwd nombre_usuario

¿Y como se elimina un usuario? 
sudo deluser -r nombre_usuario
NOTA: también pueden usarse los comandos 'useradd', o 'userdel' que, por cierto, parece ser que son los comandos ‘originales’)


¿Cómo se crea o elimina un grupo?
sudo addgroup nombre_grupo
sudo delgroup -r nombre_grupo


¿Cómo se agrega un usuario a un grupo?
Se supone que ambos ya han sido creados, claro. Se puede hacer de varias formas…
sudo adduser nombreUsuario nombreGrupo
sudo usermod -a -G nombreGrupo nombreUsuario
sudo gpasswd -a nombreUsuario nombreGrupo


¿Cómo se quita un usuario de un grupo?
Pues, igualmente…
sudo deluser nombreUsuario nombreGrupo
sudo usermod -R nombreGrupo nombreUsuario
sudo gpasswd -d nombreUsuario nombreGrupo


¿Cómo se puede conocer los Grupos a los que pertenece un Usuario?
Sencillamente, con
groups nombreUsuario

Por ejemplo, si yo escribo
groups doc
me devuelve...
doc : doc adm disk cdrom floppy audio dip video plugdev netdev bluetooth lpadmin scanner vboxusers

No hay comentarios:

Publicar un comentario