Creación de nuevos usuarios de sistema en GNU/Linux I

0
1648

Aqui anexo el scripts completo para la creacion de nuevos usuarios con sus respectivos password tomandolos de un achivo de texto en una sola columna.

Por ejemplo:
Domingo
Varela
Juan
Perez

Cuyo resultado sera: dvarela, jperez

Solucion para la opcion A
—————————————

#!/bin/sh
#
# Script para agregar usuarios de sistema y/o de e-mail
# Date: 18/abr/08
# Lic. Domingo Varela Y.
# Probe: True
#

ID=3000

# Comprobamos de que hemos recibido al menos un argumento
if [ $# -ne 1 ]
then
echo "Debe introducir el nombre del archivo con los nombres de los usuarios."
exit 1
fi

# Comprobamos de que el argumento recibido corresponde a un archivo
if [ ! -f $1 ]
then
echo "El archivo $1 no existe o no es un archivo regular."
exit 2
fi

while read nombre # leemos el nombre de stdin
do
# conversion a minusculas del nombre, eliminacion de las tildes y ñ's y
# nos quedamos con la primera letra.
name=`echo $nombre | tr [:upper:] [:lower:] | tr [áéíóúñ] [aeioun] | colrm 2`

read apellido # lectura del apellido de stdin

# Conversion a minusculas del primer apellido y eliminacion de
# tildes y ñ's
apdo=`echo $apellido | tr [:upper:] [:lower:] | tr [áéíóúñ] [aeioun] | cut -d ' ' -f1`

# Concatenación de $nome y $apdo
user=$name$apdo

# Creación del grupo del usuario
groupadd -g $ID $user
echo "Creado el grupo $user, GID $ID"

# Creación del usuario
useradd -d /home/$user -g $user -m -k /etc/skel -c "$nombre $apellido" -u $ID $user
echo "Se ha creado el usuario $user, UID $ID"
echo

# asignar contraseña al usuario
echo "$user:$user" | chpasswd

# incrementamos el ID
let "ID=$ID+1"
done < usuarios.txt # redireccionamos el archivo a la entrada estandar del ciclo while

exit 0


LEAVE A REPLY

Please enter your comment!
Please enter your name here