Linux

Gestionar usuarios y grupos en Linux

Gestionar usuarios y grupos en Linux nos permitirá realizar una utilización optima del sistema multiusuario, para aquellos casos donde varias personas hagan uso de los recursos del servidor. Cada uno de los usuarios es identificado a través de un nombre y debe tener asignada una contraseña, con ambos datos deberá acceder al sistema para su respectiva verificación de credenciales. Si deseas aprender sobre la gestión de usuarios y grupos, este es el articulo ideal para ti.

Gestionar usuarios y grupos en Linux

El objetivo principal de la gestión de usuarios y grupos en Linux, es permitir que múltiples usuarios hagan uso del sistema, pero de una forma ordenada y segura. De tal manera que ninguna de las tareas que se realicen por cualquier usuario, pueda poner en riesgo todo el sistema. A través de la gestión, se establecen los mecanismos y políticas de seguridad para la protección de os datos de cada usuario, así como parara asegurar y proteger el funcionamiento de todo el sistema.

Cuentas de usuario

Como les mencione anteriormente, para poder usar el sistema operativo Linux, es necesario tener una cuenta de usuario. Dicha cuenta se constituya por un nombre de usuario (login) y de una contraseña (password). Las cuentas de usuario son creadas por el administrador del sistema, que en Linux es conocido como Usuario root. Cada usuario, debe pertenecer obligatoriamente a algún grupo de usuario. Adicionalmente, al momento de ingresar al sistema, el usuario deberá identificarse con su cuenta de usuario y en caso de equivocarse, el sistema le denegara el acceso.

Posterior a identificarse satisfactoriamente, el usuario podrá hacer uso del sistema y ejecutar todas las aplicaciones que tenga permitido, así como realizar acciones (leer, modificar o borrar) sobre los archivos en los que tenga permiso.

Te recomendamos la lectura de la guía para principantes en linux.

Por otra parte, una cuenta de usuario, no solo provee un simple nombre, también es el punto de partida para establecer una ruta donde se almacenan sus documentos y perfil de usuario. En Linux, generalmente es dentro de la carpeta /home/nombre-usuario. 

Al momento de que el usuario ejecuta una aplicación, el sistema la carga en memoria y luego se ejecuta. En el ámbito informático, las aplicaciones que se encuentran en ejecución en un momento determinado, se les denomina procesos. Entonces, en un sistema multiusuarios, cada proceso pertenece a un usuario, el mismo sistema se encarga de asignarlo al usuario que haya iniciado la ejecución.

Podemos ver todos los procesos en ejecución, usando comando:

ps aux

Para verlos en tiempo real, usamos el comando

top

Grupos de usuarios

Para permitir una administración flexible de los permisos de los usuarios, Linux permite estructurar los usuarios a través de grupos y los permisos pueden ser asignados a un grupo. Por ejemplo, tenemos una institución educativa, el grupo de profesores tiene acceso a ciertos archivos, al momento de añadir un nuevo profesor en el sistema, solo tenemos que asignarle a su cuenta de usuario el grupo profesor.

TE RECOMENDAMOS
Los mejores navegadores para Linux muy poco conocidos

Como les mencione anteriormente, todos los usuarios deben pertenecer a un grupo principal o primario (obligatoriamente), pero puede pertenecer a otros grupos, esos son considerados secundarios. Todos los grupos de usuarios sólo pueden contener varios usuarios, es decir, no pueden contener a otros grupos.

Cada grupo de usuarios en Linux, es identificado con un numero diferente. Esto es conocido como identificador de grupo o gid = Group IDentifier. Internamente, el sistema realiza las gestiones bajo el gid, y no con el nombre del grupo. Por lo general, al momento de crear grupos, el sistema le asigna un gid de 1000 en adelante. Los gid menores a 100 son reservados para uso del sistema y sus grupos especiales.

Por defecto, en Linux la información de los grupos de un sistema se guarda en el archivo /etc/group. Este archivo puede ser visualizado desde cualquier editor de texto. Cada una de sus líneas almacena los parámetros específicos del grupo y los usuarios asociados. El archivo solo puede ser modificado por el administrador (usuario root). Por otra parte, las contraseñas de los grupos son guardadas de forma encriptadas con un sistema de codificación irreversible, en un archivo de texto tambien: /etc/gshadow.

Comandos de gestión de usuarios y grupos en Linux

Creación de usuarios

Para añadir un usuario, indicando sus parámetros de información utilizamos en la consola el comando useradd. Su sintaxis es:

useradd [opciones] nombre-usuario

Podemos resaltar entre todas sus opciones, las siguientes:

  • g: Grupo principal que sera asignado al usuario
  • d: Para asignar carpeta home del usuario. Normalmente es /home/nombre-usuario
  • m: Crear carpeta home en caso de no existir
  • s: Intérprete de comandos (shell) del usuario. Suele ser /bin/bash

Por ejemplo, queremos crear un usuario llamado “luis” y que su grupo principal sea “profesores”, que demas tenga asignada como carpeta home “/home/luis” y que sus comando sean interpretados en “/bin/bash”. El comando que debemos ejecutar sera el siguiente:

sudo useradd -g profesores -d /home/luis -m -s /bin/bash luis

Ahora nos queda por establecer su contraseña mediante el uso del comando passwd:

sudo passwd luis

El sistema nos solicitara la contraseña dos veces y listo! Sera asignada.

Un dato relevante es que podemos usar el comando useradd, para la creación de usuarios en lotes mediante el uso de shell script.

TE RECOMENDAMOS
Mejores comandos para Linux: básicos, administración, permisos...

Por otro lado, una recomendación a tomar en cuenta es el hecho de crear los nombres de usuario en minúsculas y que ademas incluya números y algún signo como guion o guion bajo. También hay que recordar que para Linux, Luis es distinto de luis, ya que distingue entre mayúsculas y minúsculas.

Modificación de usuarios

Para realizar modificaciones sobre los usuarios, se emplea el comando usermod. Este te permite hacer cambios sobre el nombre, la carpeta home, su interpretador de comandos, sus grupos, entre otros.

Por ejemplo, para cambiar el nombre de usuario usamos:

sudo usermod -d /home/carpeta_luis luis

Eliminación de usuarios

La eliminación de los usuarios la realizamos mediante el uso del comando userdel y a continuación el nombre de usuario. Si a la instrucción, le añadimos la opción -r, su carpeta home también sera eliminada. Veamos el ejemplo:

sudo userdel -r luis

Creación de grupos

En este caso, tenemos el comando groupadd, tan solo debemos indicar el nombre del grupo como parámetro. Por ejemplo, si quisiéramos añadir un grupo llamado “estudiantes”, la sentencia seria:

sudo groupadd estudiantes

Modificación de grupos

Por supuesto, los grupos también pueden ser modificados al igual que hacemos con los usuarios. Para ello, usamos el comando groupmod. En el caso de los grupos podemos editar su nombre o su gid.

La sintaxis para el comando es: sudo groupmod [-g nuevo-gid] [-n nuevo-nombre] nombre-grupo, ejemplo:

por ejemplo, cambiemos el gid del grupo “profesores”:

sudo groupmod -g 2000 profesores

Eliminación de grupos

Lo hacemos con el comando groupdel seguido del nombre del grupo, por ejemplo:

sudo groupdel profesores

Se eliminara el grupo sólo en caso de que no tenga usuarios con el grupo asignado como primario. Si existiera algún usuario con esta condición, el grupo no se eliminara.

Añadir usuarios a un grupo

pera ello empleamos el comando adduser y a continuación el nombre del usuario y el nombre del grupo. Por ejemplo, para añadir Luis al grupo profesores usamos:

 sudo adduser luis profesores

Quitar usuarios de un grupo

Y finalmente, si queremos eliminar un usuario de un grupo, utilizamos el comando deluser acompañado del nombre del usuario y del grupo. Por ejemplo, si queremos quitar a “luis” del grupo “profesores”:

sudo deluser luis profesores

Como ves, tenemos suficientes herramientas para realizar una excelente gestión de los usuarios y grupos en Linux. Si requieres mayor información de los comandos, puedes consultar la ayuda disponible, ejecutando man seguido del nombre por ejemplo:

man adduser

Adicionalmente, puedes dejarnos tus consultas o duda en nuestros comentarios y podremos ayudarte 🙂

Yeraldine

Lcda. en Computación, Programadora, Apasionada por el Desarrollo Web. A veces Bellydancer, otras veces Yogui. Amo viajar, los libros y la música. En mis RRSS: @yerita02

Seguro que te interesa:

Close