Z

zarquat

Usuario (España)

Primer post: 31 mar 2011Último post: 31 mar 2011
1
Posts
0
Puntos totales
3
Comentarios
Gestiona usuarios y grupos de manera gráfica en Archlinux
Gestiona usuarios y grupos de manera gráfica en Archlinux
LinuxporAnónimo3/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. #!/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.

0
0
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.