InicioLinuxGestiona usuarios y grupos de manera gráfica en Archlinux

Gestiona usuarios y grupos de manera gráfica en Archlinux

Linux3/31/2011
No es mi caso, pero a muchos les agobia usar el terminal para según que tareas, así que os dejo un script para gestionar usuarios de forma gráfica. (en Archlinux, imagino que en el resto de distribuciones funcionará). En necesario "zenity" para que funcione.
142fc496eac1104b24ae30fdcb1cffa1.11711001451
#!/bin/bash

# Gestion de usuarios grafica
# Bajo licencia GPL

function main(){
while [ true ]
do
opcion=`zenity --list --height=245 --width=320 --radiolist 
          --title="Gestión de Usuarios y/o Grupos" 
         --column="" --column="Opción" 
           "FALSE" "1 Crear Usuario con Directorio Home" 
          "TRUE" "2 Crear Grupo" 
      "FALSE" "3 Añadir Usuario/Grupo" 
      "FALSE" "4 Eliminar Usuario/Grupo" 
           "FALSE" "5 Eliminar un Usuario" 
           "FALSE" "6 Mostrar Usuarios de un Grupo" 
          "FALSE" "7 Salir de la Aplicación"`
if [ "$?" == 1 ] ; then seleccion 7 ; fi 
seleccion `echo $opcion | cut -c 1` "$opcion" 
done
}

function seleccion(){
case $1 in
1)
user=`zenity --entry --width=300 --text "Nombre del usuario" --title "$2"`
cod=`echo $?`
if [ $cod == 0 ] 
then
sudo adduser $user
if [ "$?" == 1 ] 
then
zenity --warning --title="AddUser" --text="El usuario $user ya existe"
else
echo "creo el usuario $user" >> /tmp/log 
progress "Creando usuario" $user "$2"
fi
elif [ $cod == -1 ]
then
zenity --error --no-wrap --title="Error" --text="Ocurrió un error"
fi
;;
2)
group=`zenity --entry --width=300 --text "Nombre del grupo" --title "$2"` 
cod=`echo $?`
if [ $cod == 0 ] 
then
creargrupo "$group" 
if [ "$?" == 0 ] 
then
progress "Creando grupo" $group "$2"
echo "creo el grupo $group" >> /tmp/log
fi
elif [ $cod == -1 ] 
then
zenity --error --no-wrap --title="Error" --text="Ocurrio un error"
fi
;;
3)
listaUser=`cat /etc/passwd | cut -d: -f1 | sort` 
user=`zenity --list --height=300 --title="Elija un usuario" --column="USER" $listaUser` 
cod=`echo $?`
if [ $cod == 0 ] 
then
lsgrp=`cat /etc/group | cut -d: -f1 | sort`
grp=`zenity --list --height=300 --title="Elija un grupo" --column="GRUPOS" $lsgrp`
sudo usermod -aG $grp $user 
zenity --info --no-wrap --title="$2" --text="Se agregó '$user' al grupo $grp"
echo "Se agregó a $user al grupo $grp" >> /tmp/log
elif [ $cod == -1 ] 
then
zenity --error --no-wrap --title="Error" --text="Ocurrió un error"
fi
;;
4)
listaUser=`cat /etc/passwd | cut -d: -f1 | sort`
user=`zenity --list --height=300 --title="Elija un usuario" --column="USER" $listaUser`
cod=`echo $?`
if [ $cod == 0 ] 
then
lsgrp=`cat /etc/group | cut -d: -f1 | sort`
grp=`zenity --list --height=300 --title="Elija un grupo" --column="GRUPOS" $lsgrp`
sudo deluser $user $grp 
zenity --info --no-wrap --title="$2" --text="Se eliminó a '$user' del grupo $grp"
echo "Se eliminó a $user del grupo $grp" >> /tmp/log
elif [ $cod == -1 ] 
then
zenity --error --no-wrap --title="Error" --text="Ocurrió un error"
fi
;;
5)
listaUser=`cat /etc/passwd | cut -d: -f1 | sort`
user=`zenity --list --height=300 --title="Elija una opción" --column="USER" $listaUser`
cod=`echo $?`
if [ $cod == 0 ] 
then
zenity --question --title="deluser" --text="Borrar el directorio Home de $user?"
if [ $? == 0 ]
then
sudo deluser $user --remove-home
echo "Se eliminó el usuario $user y su directorio personal /home/$user" >> /tmp/log
progress "Eliminando Usuario" $user "$2"
else
sudo deluser $user
echo "Se eliminó el usuario $user pero se mantiene /home/$user" >> /tmp/log
progress "Eliminando Usuario" $user "$2"
fi
elif [ $cod == -1 ] 
then
zenity --error --no-wrap --title="Error" --text="Ocurrió un error"
fi
;;
6)
lsgrp=`cat /etc/group | cut -d: -f1 | sort`
grp=`zenity --list --height=300 --title="Elija un grupo" --column="GRUPOS" $lsgrp`
cod=`echo $?`
if [ $cod == 0 ] 
then
member=`cat /etc/group | grep $grp: | cut -d: -f4 | sort` 
zenity --info --no-wrap --title="$2" --text="El grupo $grp tiene como miembros: $member"

echo "Listando los miembros de $grp" >> /tmp/log
elif [ $cod == -1 ] 
then
zenity --error --no-wrap --title="Error" --text="Ocurrió un error"
fi
;;
7)
if [ -e /tmp/log ]
then

zenity --text-info 
                          --title="LOG" 
                          --filename=/tmp/log
                          --editable 2>/tmp/tmp.txt
           rm /tmp/log /tmp/tmp.txt

           fi
           exit
   ;;
esac
}

function progress(){
(
echo "0" ; sleep 1
        echo "# $1" ; sleep 1
        echo "25" ; sleep 1
        echo "75" ; sleep 1
        echo "100" ; sleep 1
        echo "# Finalizado"

        ) |
        zenity --progress 
          --title="$3" 
          --text="" 
          --percentage=0 
          --width=300

        if [ "$?" = -1 ] ; then
                zenity --error 
                  --text="Suma Abortada."
        fi
}

function creargrupo(){

gksudo groupadd $1
if [ "$?" == 9 ]
then
zenity --warning --title="Groupadd" --text="El grupo '$1' ya existe"
return 1
else
return 0
fi
}

main


Lo guardais como "gestionusers.sh" o lo que se os ocurra, le dais permisos de ejecución (chmod +x) y listo; desde cualquier terminal, lo lanzais.
Datos archivados del Taringa! original
0puntos
20visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

z
zarquat🇦🇷
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.