En cualquier sistema informático el control de los usuarios es básico para que la información fluya correctamente dentro del sistema. Además tener un buen control de usuarios permite a los administradores de red saber quien hizo que y cuando en caso de alguna incidencia.

GNU/Linux tiene un sistema muy particular para crear, modificar y configurar usuarios y permisos de usuarios, asignando su pertenencia a grupos que le permitirán acceder a determinadas tareas o recursos; y asignando permisos a los archivos para todos los usuarios desde el punto de vista del propietario.

iconos de Icons Png Download

Aunque desde hace tiempo en GNU/Linux ya hay herramientas gráficas para esta tarea, saber las instrucciones de control de usuario cuando nos encontremos con una sesión de terminal sin escritorio gráfico, por ejemplo: una máquina virtual en la nube..

En esta entrada intentaré hacer un repaso rápido a modo de cheatsheet para que sirva como documento de consulta para tod@s.

Primeros pasos.

En la terminal whoami nos dice que usuario tiene la sesión activa en esa terminal:

~$ whoami

Para saber a que grupo o grupos pertenecemos:

~$ groups
~$ groups usuario1 otrousuario // para especificar uno o varios usuarios

Podemos cambiar de usuario con:

~$ su otrousuario

También con:

~$ login usuario2

En ambos casos podemos cerrar sesión con ese usuario con:

~$ logout

Gestión de grupos

Para crear grupos se hace con groupadd:

~$ sudo groupadd oficina_huesca
~$ sudo groupadd oficina_eruel

Para corregir el nombre de un grupo:

~$ sudo groupmod -n oficina_teruel oficina_eruel

Para borrar un grupo:

~$ sudo groupdel oficina_teruel

Gestión de usuarios

Para todas las tareas de gestión de usuarios y grupos es necesario tener permisos de administración, por eso tenemos que usar sudo delante de cada comando. Para evitar esto podemos iniciar sesión como administrador con:

~$ sudo su 
~$ su -l  // en Debian

Otra opción menos conocida es empezar una sesión en la shell del administrador con:

~$ sudo bash

Con cualquiera de ellas necesitaremos la contraseña del administrador y después veremos que el prompt de la terminal cambia y al final se cambia el símbolo $ por #.

Si queremos añadir un usuario:

~# adduser pedro

Si queremos añadirlo a un grupo:

~# adduser pedro oficina_huesca

Si queremos añadir un usuario y aun grupo:

~# adduser ana --ingroup oficina_huesca

Durante la creación de estos grupos se nos ha pedido una contraseña, podemos cambiarla con:

~# passwd ana

Sin embargo, adduser no es un comando del core de GNU/Linux y es posible que no funcione bien en todas las distribuciones que uses. Useradd es un comando que ejecuta un binario del sistema, mientras que adduser es un script en perl que utiliza el binario useradd.

~# useradd pedro   // para añadir un usuario
~# useradd -m pedro // añadir un usuario con su directorio home

Para borrar un usuario:

~# userdel usuario1

Se puede cambiar el propietario de un archivo con:

~# chown ana informe.txt

~# chgrp oficina_teruel informe.txt // para cambiar el grupo

~# chown -R ana ~/oficinas/informes/   // para cambiar el propietario de forma                    recursiva

Una vez creados los usuarios y grupos todos los archivos tendrán unos permisos; para ver los permisos de cualquier fichero podemos verlo con:

~# ls -l /home/redes/oficinas/informe.txt

y obtenemos una salida en la terminal como esta:

En la primera columna aparecen los permisos, en la tercera se indica el usuario (en este caso es el administrador del sistema) y en la cuarta columna aparece el nombre del grupo (que en este caso coincide con el de usuario). Para entenderla correctamente nos ayudará el siguiente gráfico:

Así la línea que me devolvió la terminal nos dice que el archivo tiene permisos de para el propietario, permisos de para el grupo y permisos de para el resto.

Para cambiar los permisos de un archivo podemos hacerlo con chmod:

~# chmod o+x informe.txt 
// añadimos permisos de ejecución al archivo informe.txt para todos los usuarios

La sintaxis de chmod es: chmod usuario+permiso para dar al usuario un permiso, o chmod usuario-permiso para quitarselo. Los atributos de usuarios los entenderemos mejor con esta gráfica:

Entonces para asignarle permisos de lectura para todos y permiso de escritura para los usuarios del mismo grupo:

~# chmod o+r home/redes/oficinas/informe.txt 
~# chmod g+w home/redes/oficinas/informe.txt 
~# chmod g+w-x home/redes/oficinas/informe.txt 
// si queremos asignarle permiso de escritura pero no de ejecución al grupo

El sistema es un poco lioso la verdad, además hay que hacer un comando para cada entidad para asignar los permisos a un archivo; pero hay un método alternativo usando un numero para cada par entidad/permiso que nos facilita la tarea; para verlo podemos apoyarnos en la tabla siguiente:

De esta forma esta linea:

~# chmod 755 /home/redes/oficinas/informe.txt

que se obtiene con este esquema:

CHMOD 755 = (user) permisos lectura/escritura/ejecución 7 (grupo) permisos lectura/escritura 5 (otros) permisos lectura 5

y es equivalente a todas estas:

~# chmod u+rwx /home/redes/oficinas/informe.txt
~# chmod g+rx-w /home/redes/oficinas/informe.txt
~# chmod o+rx-w /home/redes/oficinas/informe.txt

¡Mucho mejor donde va a parar! De esta forma solo tenemos que recordar las combinaciones de números mas usadas a la hora de aplicar permisos con chmod.

Y bueno esto es todo por hoy nos vemos en la próxima entrada.

Compartir / Share

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada.