Bienvenidos a este capítulo de este Curso de Linux para Hackers – Gestión de Usuarios desde la Shell. Comparte este articulo y síguenos para recibir más capítulos, guías y cursos gratis.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Lo que aprenderás en este artículo:

  1. Crear y gestionar usuarios en Linux: Aprenderás a usar comandos como useradd, passwd, y usermod para crear, eliminar y gestionar usuarios en un sistema Linux.
  2. Sintaxis de los comandos de gestión de usuarios: Conocerás la sintaxis de los comandos clave para la administración de usuarios y verás ejemplos prácticos.
  3. Directorio /etc/passwd y UID/GID: Comprenderás cómo funciona la base de datos de usuarios locales en Linux y qué son el UID (User ID) y GID (Group ID).
  4. Herramientas para la administración de usuarios: Explorarás tanto las herramientas gráficas como las de línea de comandos para la gestión de usuarios.

Crear usuario en Linux

Linux nos permite crear más de un usuario después de la instalación. Linux es un sistema multiusuario, lo que significa que más de un usuario puede trabajar en el mismo sistema al mismo tiempo.

Para poder trabajar con Linux debemos crear una cuenta , ya que no podemos seguir trabajando con la cuenta root. Tenemos una cuenta administrativa, una cuenta de administrador del sistema que se encarga de gestionar las cuentas de usuario y los grupos del sistema. Agregar o eliminar un usuario es una de las tareas más básicas de un nuevo servidor Linux.

Un nuevo servidor Linux nos proporciona únicamente una cuenta de usuario root. Añadir una cuenta de usuario proporciona mucho poder y accesibilidad a un usuario en particular. Es una utilidad útil pero insegura del servidor Linux. Es bueno añadir un usuario sin privilegios para realizar tareas comunes. Sin embargo, podemos acceder al privilegio administrativo a través de la utilidad de línea de comandos sudo.

En Linux, la gestión de usuarios es un aspecto fundamental para la administración del sistema. Los comandos useradd, userdel y usermod son herramientas que permiten crear, eliminar y modificar usuarios. Estos comandos no solo son útiles para los administradores de sistemas, sino que también son esenciales para los hackers, ya que permiten manipular cuentas de usuario, escalar privilegios y comprometer la seguridad de un sistema.

En este artículo, exploraremos en profundidad cómo funcionan estos comandos, su sintaxis, ejemplos de uso, y por qué son herramientas clave tanto para la administración del sistema como para la seguridad informática.

Comandos de gestión de usuarios de Linux/Unix

La gestión de usuarios en Linux se realiza mediante comandos de administración de Linux. A continuación, se incluye una lista de comandos de gestión de usuarios en Linux :

DominioDescripción
sudo adduser nombre de usuarioAgrega un usuario
sudo passwd -l ‘nombre de usuario’Deshabilitar un usuario
sudo userdel -r ‘nombre de usuario’Eliminar un usuario
sudo usermod -a -G NOMBREGRUPO NOMBREUSUARIOAgregar usuario a un grupo de usuarios
sudo deluser NOMBRE DEL GRUPO DE USUARIOSEliminar usuario de un grupo de usuarios
dedoProporciona información sobre todos los usuarios conectados.
nombre de usuario de dedoProporciona información de un usuario en particular.

El comando useradd de Linux

En Linux, el comando useradd es una utilidad de línea de comandos que se utiliza para agregar o eliminar un usuario en un servidor Linux y un sistema operativo basado en Unix.

En un tipo diferente de distribución de Linux, el comando useradd puede ser ligeramente diferente.

El comando useradd realiza las siguientes tareas:

  • Edita los archivos para usuarios recién creados como /etc/passwd , /etc/shadow , /etc/group y /etc/gshadow.
  • Crea y abre un nuevo directorio de inicio.
  • Nos permite establecer propietarios y permisos para el directorio de inicio.

Sintaxis:

useradd [opciones] nombre de usuario  

Para poder utilizar el comando useradd, debemos iniciar sesión con acceso root o sudo.

Antes de usar el comando useradd de Linux, comprendamos algunos términos comunes que se utilizan en la línea de comandos de Linux.

Definiciones

Nombre de usuario : un nombre de usuario es un nombre que se utiliza para iniciar sesión en el sistema Linux. Se muestra cuando encendemos nuestra máquina. La longitud del nombre de usuario debe ser de entre 1 y 32 caracteres.

Contraseña: una contraseña es un código secreto que se utiliza para proteger el sistema de accesos no autorizados. Se almacena en un archivo etc/shadow en formato cifrado.

Identificación de usuario (UID) : Linux proporciona una identificación única a cada usuario; se denomina número de identificación de usuario o ID de usuario o UID . De forma predeterminada, el UID para el usuario raíz está reservado como cero y el resto de los UID de 1 a 99 están reservados para otras cuentas predefinidas. Además, los UID de 100 a 999 están reservados para grupos y cuentas del sistema.

ID de grupo (GID): El GID o ID de grupo es un número de identificación de grupo proporcionado por el sistema Linux. Se almacena en el archivo /etc/group .

Información del usuario: Nos permite definir algunos datos adicionales sobre el usuario, como por ejemplo su nombre completo. Es opcional.

Directorio de inicio: es una ubicación absoluta para un usuario.

Shell: es una ubicación absoluta del shell de un usuario, es decir, /bin/bash.

Crear un nuevo usuario

Para crear un nuevo usuario mediante el comando useradd, ejecute el comando useradd seguido del nombre de usuario de la siguiente manera:

sudo useradd alvaro

El comando anterior solicitará la contraseña de administración del sistema. Introdúzcala. Se creará un usuario llamado alvaro. El usuario utiliza este nombre de usuario para iniciar sesión en el sistema. El nombre de usuario debe ser único. Considere el siguiente resultado:

Para establecer la contraseña para el usuario recién creado, ejecute el siguiente comando:

sudo passwd alvaro

El comando anterior solicitará la nueva contraseña. Introdúzcala y vuelva a escribirla. Actualizará la contraseña del usuario especificado. Considere el siguiente resultado:

Gestión de usuarios de Linux

La gestión de usuarios incluye todo, desde la creación de un usuario hasta su eliminación en el sistema. La gestión de usuarios se puede realizar de tres formas en un sistema Linux. Las herramientas gráficas son fáciles de usar y adecuadas para nuevos usuarios, ya que garantizan que no tendrás ningún problema.

Las herramientas de línea de comandos incluyen comandos como useradd, userdel, passwd, etc. Estos son utilizados principalmente por los administradores del servidor. La tercera y muy rara herramienta es editar los archivos de configuración local directamente usando vi.

/etc/passwd

La base de datos de usuarios local en Linux es el directorio /etc/passwd.

Observa la captura de pantalla anterior. Tiene siete columnas separadas por dos puntos. Las columnas de la izquierda indican el nombre de usuario, una x, el ID del usuario, el ID del grupo principal, una descripción, el nombre del directorio de inicio y un shell de inicio de sesión.

root

El usuario root es el superusuario y tiene todos los poderes para crear y eliminar usuarios, e incluso puede iniciar sesión con la cuenta de otro usuario. El usuario root siempre tiene el ID de usuario 0.

usuarioadd

Con los comandos useradd puedes agregar un usuario.

Sintaxis:

usuarioadd -m -d /inicio/<nombre de usuario> -c "<nombre de usuario><nombre de usuario>  

Ejemplo:

useradd -m -d /inicio/shadow -c "Shadow" shadow -g shadow

Mire la instantánea de arriba, hemos creado un usuario shadow junto con la creación de un directorio de inicio (-m), estableciendo el nombre del directorio de inicio (-d) y una descripción (-c).

‘shadow’ recibió el ID de usuario 1006 y el ID de grupo shadow.

/etc/default/useradd

El archivo /etc/default/useradd contiene algunas opciones predeterminadas del usuario. Se puede utilizar el comando useradd -D para visualizar este archivo.

Sintaxis:

useradd -D  

El comando useradd tiene más opciones que puedes explorar

 useradd –help

 

También  te recomendamos consultar las páginas man para este comando:

 man useradd

Puntos clave del artículo y resumen:

  1. Comando useradd:
    • useradd es el comando utilizado para crear usuarios en Linux. Este comando añade entradas a archivos como /etc/passwd y /etc/shadow, y también puede crear un directorio de inicio para el nuevo usuario.
    • Ejemplo básico: sudo useradd alvaro crea un usuario llamado «alvaro».
    • Opciones comunes:
      • -m: Crea un directorio de inicio.
      • -d: Especifica la ruta del directorio de inicio.
      • -c: Añade una descripción opcional.
      • -g: Especifica el grupo principal del usuario.
  2. Establecer la contraseña de un usuario:
    • Para asignar una contraseña a un usuario recién creado, se utiliza el comando passwd.
    • Ejemplo: sudo passwd alvaro solicita y establece una nueva contraseña para el usuario «alvaro».
  3. Deshabilitar o eliminar usuarios:
    • Deshabilitar un usuario: Para bloquear la cuenta de un usuario, usa sudo passwd -l nombre_usuario, lo que evitará que inicie sesión sin eliminar su cuenta.
    • Eliminar un usuario: El comando userdel se usa para eliminar usuarios. Con la opción -r, se eliminará también el directorio de inicio del usuario. Ejemplo: sudo userdel -r alvaro elimina el usuario «alvaro» y su directorio.
  4. Agregar un usuario a un grupo:
    • Para agregar un usuario a un grupo, usa usermod con la opción -a -G. Ejemplo: sudo usermod -a -G nombre_grupo alvaro añade al usuario «alvaro» al grupo especificado.
  5. UID y GID:
    • Cada usuario tiene un UID (User ID), y cada grupo tiene un GID (Group ID). Los UID y GID se almacenan en archivos como /etc/passwd y /etc/group.
    • El UID para el usuario root es siempre 0. Otros UID de 1 a 99 están reservados para cuentas del sistema, mientras que los UID a partir de 1000 se utilizan para cuentas de usuario estándar.
  6. Directorio /etc/passwd:
    • Este archivo contiene información básica sobre todos los usuarios del sistema, organizada en columnas separadas por dos puntos. Las columnas incluyen el nombre de usuario, UID, GID, nombre del directorio de inicio y el shell asignado.
    • Ejemplo de entrada: alvaro:x:1001:1001:Alvaro:/home/alvaro:/bin/bash indica que «alvaro» tiene UID 1001, su directorio de inicio es /home/alvaro, y su shell es /bin/bash.
  7. Comando usermod:
    • Este comando permite modificar atributos de un usuario existente, como agregarlo a grupos o cambiar su shell predeterminado.
    • Ejemplo: sudo usermod -s /bin/zsh alvaro cambia el shell del usuario «alvaro» a /bin/zsh.
  8. Comando visudo para administrar el archivo sudoers:
    • El archivo /etc/sudoers define qué usuarios pueden ejecutar comandos con sudo. Para editarlo sin errores de sintaxis, se utiliza el comando visudo.
  9. Eliminar usuario de un grupo:
    • Para eliminar un usuario de un grupo, utiliza el comando sudo deluser nombre_usuario nombre_grupo.
  10. Herramientas gráficas y de línea de comandos:
    • Los administradores de sistemas suelen usar comandos como useradd o userdel para gestionar usuarios. Sin embargo, en entornos con interfaces gráficas, existen herramientas más intuitivas para gestionar usuarios.

Este artículo proporciona una guía completa sobre la creación y gestión de usuarios en Linux, cubriendo desde los comandos básicos hasta la edición de archivos importantes como /etc/passwd y el uso de UID/GID para administrar usuarios de forma eficiente.

Pon en práctica lo aprendido

Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.

Preguntas sobre la creación de usuarios en Linux

  1. ¿Qué es el comando useradd y cuál es su función principal en Linux?
  2. ¿Qué archivo en Linux contiene la base de datos de usuarios del sistema?
  3. ¿Cuál es la diferencia entre el comando useradd y el comando adduser en algunas distribuciones de Linux?
  4. ¿Qué comando utilizarías para establecer una contraseña para un usuario recién creado?
  5. ¿Qué significan las columnas en el archivo /etc/passwd y qué tipo de información almacenan?
  6. ¿Cuál es la diferencia entre el UID y el GID en Linux?
  7. ¿Qué significa el indicador -m en el comando useradd?
  8. ¿Cómo puedes agregar un usuario a un grupo específico utilizando usermod?
  9. ¿Qué comando eliminaría a un usuario junto con su directorio de inicio?
  10. ¿Qué función tiene el archivo /etc/default/useradd en la gestión de usuarios en Linux?

Ejercicios sobre la creación y gestión de usuarios en Linux

  1. Crea un nuevo usuario llamado romina en tu sistema utilizando el comando useradd.
  2. Establece una contraseña para el usuario romina utilizando el comando passwd.
  3. Visualiza la información del nuevo usuario romina en el archivo /etc/passwd y describe qué campos contiene.
  4. Crea un usuario llamado carlos con su directorio de inicio personalizado en /home/carlos.
  5. Modifica el usuario carlos para que pertenezca a un grupo llamado developers.
  6. Elimina al usuario alvaro junto con su directorio de inicio.
  7. Desactiva temporalmente la cuenta de usuario romina sin eliminarla.
  8. Visualiza las opciones predeterminadas del comando useradd utilizando el comando adecuado.
  9. Verifica todos los grupos a los que pertenece el usuario romina utilizando un comando de gestión de usuarios.
  10. Agrega al usuario romina al grupo sudo para otorgarle privilegios administrativos.

Respuestas a las preguntas

  1. useradd es un comando utilizado en Linux para crear nuevos usuarios en el sistema, configurando varios aspectos como el directorio de inicio y el shell.
  2. El archivo /etc/passwd contiene la base de datos de usuarios del sistema en Linux, incluyendo información como el nombre de usuario, UID, GID, y el shell asignado.
  3. useradd es una utilidad más básica para crear usuarios, mientras que adduser (en algunas distribuciones) es un script más amigable que facilita la creación de usuarios con pasos guiados.
  4. Para establecer una contraseña para un usuario recién creado, se utiliza el comando:
    • sudo passwd <nombre_de_usuario>
  5. Las columnas en el archivo /etc/passwd contienen, en orden: nombre de usuario, contraseñas cifradas (marcadas con una «x»), UID, GID, información de usuario, directorio de inicio y el shell de inicio de sesión.
  6. El UID (Identificación de Usuario) es un número único asignado a cada usuario, mientras que el GID (Identificación de Grupo) corresponde a la identificación de un grupo de usuarios.
  7. El indicador -m en el comando useradd crea un directorio de inicio para el usuario si no existe.
  8. Para agregar un usuario a un grupo específico, se utiliza el comando usermod:
    • sudo usermod -a -G <nombre_del_grupo> <nombre_de_usuario>
  9. Para eliminar a un usuario junto con su directorio de inicio, se utiliza el comando:
    • sudo userdel -r <nombre_de_usuario>
  10. El archivo /etc/default/useradd define las configuraciones predeterminadas para el comando useradd, como la creación de directorios de inicio o los valores predeterminados del shell.

Respuestas a los ejercicios

  1. Crear un nuevo usuario llamado romina:
    • sudo useradd romina
  2. Establecer una contraseña para el usuario romina:
    • sudo passwd romina
  3. Visualizar la información del nuevo usuario romina en el archivo /etc/passwd:
    • cat /etc/passwd | grep romina Los campos incluyen el nombre de usuario, UID, GID, información de usuario, directorio de inicio y el shell asignado.
  4. Crear un usuario llamado carlos con un directorio de inicio personalizado:
    • sudo useradd -m -d /home/carlos carlos
  5. Agregar el usuario carlos al grupo developers:
    • sudo usermod -a -G developers carlos
  6. Eliminar al usuario alvaro junto con su directorio de inicio:
    • sudo userdel -r alvaro
  7. Desactivar temporalmente la cuenta de usuario romina:
    • sudo passwd -l romina
  8. Visualizar las opciones predeterminadas de useradd:
    • sudo useradd -D
  9. Verificar todos los grupos a los que pertenece el usuario romina:
    • groups romina
  10. Agregar al usuario romina al grupo sudo:
    • sudo usermod -aG sudo romina




Con estos ejercicios y respuestas, se cubren las bases fundamentales de la gestión de usuarios en Linux, desde la creación de usuarios hasta su administración y eliminación.

No te detengas, sigue avanzando

Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

Hacker de 0 a 100 desde las bases hasta conseguir empleo

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.

Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).

Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).

El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.

Saludos amigos y happy hacking!!!