El script que les muestro a continuación es modificación de otro que me acercara @alband y que originalmente era considerado como uno de los que posiblemente sirviera en la administración de servidores, dado que no se lo propuso para ese fin pero igualmente puede ser útil para administrar usuarios y grupos desde la consola, lo que lo vuelve independiente del entorno y de la distro en que se lo use, se los hago llegar.
Con este script donde se encuentran centralizados los comandos más utilizados para administrar usuarios y grupos se puede:
Respecto a los usuarios:
Ver existentes, crear, borrar, bloquear, desbloquear, obtener información, cambiar contraseña, obligar a cambiar contraseña, agregar a un grupo.
Respecto a los grupos:
Ver existentes, crear, borrar.
Situaciones particulares:
a) Los usarios y grupos existentes en el sistema se muestran en cada operación que los involucre
b) No se ha incluido el comando que borra el directorio del usuario cuando es eliminado por una razón de seguridad. Por tanto se lo debe borrar manualmente.
El comando es simple:
sudo rm -R /home/directorio_usuario
c) No se ha incluido el comando que borra el nombre del usuario eliminado del archivo /etc/group por la misma razón expuesta en el punto anterior. Por lo tanto se debe llevar a cabo manualmente. puede hacerse con los siguientes comandos como root, creando la copia de seguridad pertinente:
mv /etc/group /etc/group.old
while read linea
do
echo ${linea//nombre_usuario/} >> /etc/group
done </etc/group.old
Como ven no utilicé sed aunque el que quiera lo hará seguramente:
mv /etc/group /etc/group.old
sed -e ‘s/nombre_usuario//g’ /etc/group.old > /etc/group
d) El script debe ejecutarse como root o va a retornar un mensaje de error informándolo.
Ustedes ponganle el nombre que les guste, denle permisos de ejecución y de preferencia guárdenlo en /usr/local/bin. La creación de lanzadores y otras cuestiones por el estilo depende de quién lo quiera utilizar
e) Dada la cantidad de línea utilizadas para escribirlo dejo dos pastes, uno que corresponde a las capturas del código que muestro a continuación, 228 líneas, y otro que es un poco más fácil de leer que tiene alrededor de 350 líneas. Ambos funcionan de la misma manera. La extensión que tiene obedece a la necesidad de controlar los errores que pueden aparecer y no a las órdenes para realizar las acciones específicas solicitadas.
El script:
Un par de capturas que muestran la presentación del script y un pedido de información sobre cesarzeta:
Los pastes para que puedan descargar el código. Tengan precaución con las líneas que por falta de espacio aparecen divididas aunque sean una sola:
http://pastebin.com/UDBPtUeJ
http://pastebin.com/sgPRjCJN
AGREGADO: POR FAVOR NO SE LES OCURRA BLOQUEAR ROOT
Creo que eso es todo. Como siempre seguramente este script puede ser mejorado y/o corregido y acepto críticas, sugerencias y correcciones si las creen pertinentes, vía comentario o MP.
Gracias por la atención.