Creación y eliminación masiva de usuarios y grupos

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este proyecto, aprenderás a crear y administrar cuentas de usuario para profesores y estudiantes en un entorno de servidor de aula. Utilizarás un script de bash llamado userctr.sh para automatizar el proceso de agregar y eliminar cuentas de usuario, que puede ser una tarea tediosa si se hace manualmente.

👀 Vista previa

## Agregar 1 cuenta de usuario de profesor y 6 cuentas de usuario de estudiante (stu1 a stu6)
$ sh userctr.sh add teacher stu 6
teacher:617533
stu1:345893
stu2:183263
stu3:404525
stu4:571165
stu5:251940
stu6:716130

## Eliminar 1 cuenta de usuario de profesor y 6 cuentas de usuario de estudiante (stu1 a stu6)
$ sh userctr.sh del teacher stu 6

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo configurar el entorno necesario para el proyecto
  • Cómo implementar funciones para agregar y eliminar usuarios y grupos
  • Cómo probar el script userctr.sh para asegurarse de que funcione como se espera

🏆 Logros

Después de completar este proyecto, podrás:

  • Comprender la importancia de automatizar las tareas de administración de usuarios
  • Crear y administrar cuentas de usuario para profesores y estudiantes utilizando un script de bash
  • Asegurarse de que las cuentas de usuario se creen con las configuraciones adecuadas, como el shell predeterminado y los privilegios de sudo
  • Agregar y eliminar eficientemente cuentas de usuario en un entorno de servidor de aula

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/UserandGroupManagementGroup -.-> linux/useradd("User Adding") linux/UserandGroupManagementGroup -.-> linux/userdel("User Removing") linux/UserandGroupManagementGroup -.-> linux/usermod("User Modifying") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/VersionControlandTextEditorsGroup -.-> linux/vim("Text Editing") subgraph Lab Skills linux/touch -.-> lab-301459{{"Creación y eliminación masiva de usuarios y grupos"}} linux/cd -.-> lab-301459{{"Creación y eliminación masiva de usuarios y grupos"}} linux/useradd -.-> lab-301459{{"Creación y eliminación masiva de usuarios y grupos"}} linux/userdel -.-> lab-301459{{"Creación y eliminación masiva de usuarios y grupos"}} linux/usermod -.-> lab-301459{{"Creación y eliminación masiva de usuarios y grupos"}} linux/sudo -.-> lab-301459{{"Creación y eliminación masiva de usuarios y grupos"}} linux/vim -.-> lab-301459{{"Creación y eliminación masiva de usuarios y grupos"}} end

Preparar el entorno

En este paso, configurarás el entorno necesario para el proyecto.

  1. Abre una terminal y navega hasta el directorio /home/labex/project.

  2. Crea un nuevo archivo llamado userctr.sh en el directorio /home/labex/project utilizando el siguiente comando:

    touch userctr.sh
  3. Abre el archivo userctr.sh en un editor de texto y agrega la siguiente línea de shebang al principio del archivo:

    #!/bin/zsh

    Esta línea especifica que el script debe ejecutarse utilizando el shell zsh.

Implementar las funciones de gestión de usuarios y grupos

En este paso, implementarás las funciones para agregar y eliminar usuarios y grupos.

  1. Agrega el siguiente código al archivo userctr.sh:

    ## Este script se utiliza para administrar las cuentas de usuario de profesores y estudiantes.
    
    ## Verifica si el número de parámetros es correcto
    
    ## Verifica si el parámetro de cantidad de estudiantes es un número entero positivo y no excede 10
    
    ## Verifica si el prefijo de nombre de estudiante contiene solo letras minúsculas
    
    ## Función para generar una contraseña aleatoria de 6 dígitos

    Este código establece la estructura básica del script, incluyendo la validación de parámetros y una función para generar contraseñas aleatorias.

  2. Agrega el siguiente código al archivo userctr.sh para manejar la operación "add":

    ## Agregar usuarios
    ## Agregar usuario de profesor
    
    ## Agregar usuarios de estudiante

    Este código agrega un usuario de profesor y la cantidad especificada de usuarios de estudiante. Si un usuario ya existe, mostrará la contraseña del usuario como seis asteriscos.

  3. Agrega el siguiente código al archivo userctr.sh para manejar la operación "del":

    ## Eliminar usuarios
    ## Eliminar usuario de profesor
    
    ## Eliminar usuarios de estudiante

    Este código elimina el usuario de profesor y la cantidad especificada de usuarios de estudiante.

  4. Guarda el archivo userctr.sh

Probar el script

En este paso, probarás el script userctr.sh para asegurarte de que funcione como se espera.

  1. Abre una terminal y navega hasta el directorio /home/labex/project.

  2. Prueba la operación "add" ejecutando el siguiente comando:

    sh userctr.sh add teacher stu 6

    Esto debería crear un usuario de profesor y seis usuarios de estudiante, y mostrar sus contraseñas generadas aleatoriamente.

    teacher:617533
    stu1:345893
    stu2:183263
    stu3:404525
    stu4:571165
    stu5:251940
    stu6:716130
  3. Prueba la operación "del" ejecutando el siguiente comando:

    sh userctr.sh del teacher stu 6

    Esto debería eliminar el usuario de profesor y los seis usuarios de estudiante.

Felicitaciones ¡Has completado el proyecto! Ahora puedes usar el script userctr.sh para administrar las cuentas de usuario de profesores y estudiantes en tus servidores de aula.

✨ Revisar Solución y Practicar

Resumen

Felicitaciones ¡Has completado este proyecto! Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.