Categorías
General

[Como] Crear Usuarios y Cambiar Claves con un Script Bash

Estos dos scripts son muy importantes para los administradores de sistemas que trabajan a menudo con servidores de correo. Digamos que de alguna manera hemos perdido los nombres de usuario y contraseñas del servidor de correo. En este caso el administrador debe crear manualmente a todos los uaurios y luego cambiar sus claves. Tedioso trabajo. Hágamos pues nuestra vida más sencilla.

Primero creemos un archivo que contenga todos los nombres de usuario. Algo como esto:

laura
elvira
alejandra
leticia
soledad
sonia

Guarde el archivo como listausuarios.txt. Ahora cree el siguiente archivo bash:

#!/bin/sh
for i in `more listausuarios.txt `
do
echo $i
adduser $i
done

Guarde el archivo como creausuarios.sh.

chmod 755 creausuarios.sh

Ahora ejecute el archivo:

./creausuarios.sh

Esto agregará todos los usuarios al sistema. Ahora debemos cambiar las claves. Digamos que queremos como clave nombredeusuario123. De modo que para el usuario soledad la clave será soledad123, alejandra123 para el usuario alejandra y así.

Cree otro archivo bash como el siguiente:

#!/bin/sh
for i in `more listausuarios.txt `
do
echo $i
echo $i"123" | passwd –-stdin "$i"
echo; echo "Se ha cambiado la clave del usuario $username!"
done

Ejecute el archivo. Todas las claves serán modificadas.

Algo debe ser tomado en consideración, y es forzar a todos los usuarios a cambiar sus claves ya que la contraseña temporaria es un riesgo de seguridad.

Para ellos será necesario modificar el último script creado de la siguiente forma:

#!/bin/sh
for i in `more listausuarios.txt `
do
echo $i
echo $i | change -d 0 "$i"
echo; echo "El usuario $i será obligado a cambiar su clave en el siguiente ingreso al sistema!"
done

Cuando el usuario ingrese verá lo siguiente:

ATENCION: Su contraseña ha expirado.
Debe cambiar su contraseña y volver a ingresar!
Cambiando contraseña para el usuario soledad.
Cambiando contraseña para soledad
Clave UNIX actual:

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *