Script para crear usuario administrador de manera automática

Objetivo: Mediante un script que se ejecuta en un equipo, crear un usuario administrador con una contraseña que previamente hemos cifrado.

A menudo se da la circunstancia de que un alumno se olvida la clave del usuario que creó en su sistema Linux. Una opción es el que el profesorado tenga la posibilidad de entrar al sistema mediante un usuario con permisos de administrador para poder regenerar la clave o simplemente hacer uso de dicho equipo en ausencia del alumno.

A comienzo de curso se distribuirá dicho script para que sea ejecutado por el alumnado en su sistema. Aunque el alumno mire el contenido del archivo, no sabrá cual es la clave.

Paso1: Instalación de mkpasswd.

Para generar una contraseña cifrada necesitamos el comando mkpasswd.

Dicha aplicación viene integrada dentro del paquete whois por lo que procederemos a instalarlo.

sudo apt-get install whois

Paso 2: Generar la clave.

En un sistema Linux generamos la clave cifrada mediante el comando:

mkpasswd -m sha-512

A continuación nos pedirá que le digamos la contraseña que queremos cifrar:

Contraseña:

El resultado será algo como esto:

$6$8HEdrDF.wYL30Nd$BuDTRux.6Qp.wHurW.mutaPOd9Dzrx6Co2wpEevHpbtkDJi2YPisNe7Hw1Dq8tyvGD6nYyKoWNIomkNDDvtOn1

Esta es la contraseña cifrada de ejemplo que usaremos para crear el usuario.

Paso 3: Crear archivo bash.

Nuestro ejecutable lo llamaremos por ejemplo: creausuario.sh

En la línea de comando ejecutamos:

nano creausuario.sh

e introducimos lo siguiente sustituyendo el contenido de la contraseña cifrada que debe estar entre comillas simples:

#!/bin/bash
# Dar permisos de ejecución chmod +x creausuario.sh
sudo useradd -p '<CONTRASEÑA CIFRADA>' -m administrador -G sudo

En este caso genera un usuario llamado administrador.

Lo distribuimos por los diferentes equipos y le daremos permisos de ejecución con la siguiente orden:

chmod +x creausuario.sh

Añadido:

Existen páginas web donde podemos generar la clave cifrada sin tener que instalar la aplicación whois.

Una bastante completa es:

En ella seleccionaremos el tipo de cifrado sha512 / crypt(3) /$6$

mkpasswd2

En caso de dejar vacía la sal (salt en inglés), nos pondrá una aleatoria.

Concepto: La sal es un texto que se añade a la contraseña que quieres cifrar. Si la contraseña a cifrar es por ejemplo 12345 y la sal es sD3dYo9C, lo que cifrará será sD3dYo9C12345. Con esto se consigue que ante una misma clave siempre dé distinto resultado al cifrar. Si no hubiera sal, para dos usuarios que eligen la misma contraseña, al mirar las cadenas cifradas, éstas serían iguales.

La sal debe poderse ver en la cadena devuelta por mkpasswd  como texto plano. En nuestro ejemplo anterior vemos que:

$6$8HEdrDF.wYL30Nd$BuDTRux.6Qp.wHurW.mutaPOd9Dzrx6Co2wpEevHpbtkDJi2YPisNe7Hw1Dq8tyvGD6nYyKoWNIomkNDDvtOn1

El símbolo $ separa los diferentes campos dentro de la cadena devuelta.

El 6 es el tipo de cifrado en nuestro caso SHA-512.
La sal es lo puesto en rojo: 8HEdrDF.wYL30Nd.
En azul la contraseña cifrada.

En esta web a día de hoy al cifrar con sha512 el resultado no es el correcto ya que siempre usa la misma sal o bien la cambia pero no la visualiza. En nuestro caso no es útil pero puede que con otros algoritmos, el cifrado sea correcto.

Deja un comentario

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