Script para la gestión de usuarios en bash

#!/bin/bash
#Comprobamos que el usuario es root.
if [ $UID != 0 ]; then
 echo "No tienes los privilegios necesarios para ejecutar este script."
 echo "Debes ingresar como root, escribe \"su root\" sin las comillas."
 exit 1
fi

echo
echo "Administración básica de usuarios y grupos en linux"
echo

while [ "$option" != "0" ]
 do
 clear
  echo
  echo "Opciones:"
  echo "---------"
  echo " 1. Agregar un usuario al sistema."
  echo " 2. Cambiar la clave de acceso de un usuario."
  echo " 3. Editar la información personal de un usuario."
  echo " 4. Borrar a un usuario del sistema."
  echo " 5. Crear grupo."
  echo " 6. Agregar un usuario a un grupo."
  echo " 7. Borrar un grupo."
  echo " 0. Salir."
  echo
  echo -n " Ejecutar: "
   read option
   case $option in
    1 )
     echo
     echo -n "Nombre del usuario a crear?: "
     read username
     echo "Con acceso a la línea de comandos bash [Y/n]?"
     echo -n " Valor por defecto [n]: "
     read shell_access
     if [ "$shell_access" = "Y" ]; then
       TERMINAL='/bin/bash'
     else
      TERMINAL='/bin/false'
     fi
     echo "Crear el directorio de trabajo para el nuevo usuario [Y/n]?"
     echo -n " Valor por defecto [Y]: "
     read home_directory
     if [ "$home_directory" = "n" ]; then
      useradd $username -s $TERMINAL
     else
      useradd $username -m -s $TERMINAL
     fi
     echo
    ;;
    2 )
     echo
     echo -n "Nombre del usuario del que se desea cambiar la clave?: "
     read username
     echo
     passwd $username
     echo
    ;;
    3 )
     echo
     echo -n "Nombre del usuario al cual cambiar la información personal?: "
     read username
     echo
     chfn $username
     echo
    ;;
    4 )
     echo
     echo -n "Nombre del usuario a borrar?: "
     read username
     if [ "$username" = "root" ]; then
      echo "Estúpido script, no puedes eliminar al Dios root"
      exit 0
     else
      echo
      echo "Desea borrar el directorio de trabajo y todo su contenido [Y/n]? "
      echo -n " Valor por defecto [n]: "
      read delete_home
     fi
     if [ "$delete_home" = "Y" ]; then
      userdel -r $username
     else
      userdel $username
     fi
     echo
    ;;
    5 )
     echo
     echo -n "Nombre del grupo a crear?: "
     read group
     echo
     groupadd $group
     echo    
    ;;
    6 )
     echo
     echo -n "Nombre del usuario para agregar al grupo?: "
     read username
     echo -n "Nombre del del grupo para agregar el usuario?: "
     read group
     echo
     groupadd $username $group
     echo
    ;;
    7 )
     echo -n "Nombre del grupo a borrar?: "
     read group
     echo
     groupdel $group
     echo
    ;;
    *) 
    ;;
   esac
  done
echo
exit 0

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s