#!/bin/bash # usuariosLin.sh # angeldp ############################################ ## Script que se encarga de crear usuarios## ## Sin utilizar los comandos useradd ## ############################################ clear #Con la funcion error la creamos para que si queremos llamarla alguna vez que supongamos que #pueda producirse un error function error(){ clear echo "Se a producido un error" echo "Se finalizará el Script" exit } #Creamos una funcion llamada ordenar que lo que hace es coger del archivo que nosotros #llamemos, corte el campo 3 y lo ordene de menor a mayor y que quite el ultimo numero que no #vale y después con el mismo nombre lo que hacemos es que al último número le sume uno más. function ordenar(){ ORDENUID=`more $1 | cut -d":" -f3 | sort -n | tail -2 | head -1` ORDENUID=`expr $ORDENUID + 1` } #Comprobamos que /etc/passwd exite el fichero para empezar el Script y si no existe llamamos #a la función error para que salga del Script if [ -f /etc/passwd ] then echo "Introduzca el nombre de usuario" read USUARIO else error fi #Se comprueba con la variable USU que busque a ver si tiene algún usuario en el Sistema que se llama igual que el usuario USU=`more /etc/passwd | grep "^${USUARIO}:" | cut -d: -f1` #En caso de que hubiese un usuario en el sistema con el mismo nombre que # el usuario introducido en este Script daria un error y saldria del Script. if [ "${USU}" == "${USUARIO}" ] then echo "El usuario ya existe, se finalizará el Script" exit fi echo "Introduzca una contraseña encriptada o una (x)" read CONTRASENA echo "El identificador de usuario (UID) se añadirá automáticamente" echo "El identificador de grupo (GID) se correspone con el grupo $USUARIO" echo "Los comentarios no se añadirán" echo "La ruta al directorio personal es:/home/$USUARIO" echo "la shell es: /bin/bash" #Llamamos a la variable ordenar para que se ejecute con el archivo /etc/passwd ordenar /etc/passwd #Introducimos los datos recogidos a /etc/passwd para que se cree el usuario echo "$USUARIO:$CONTRASENA:$ORDENUID:$ORDENUID::/home/$USUARIO:/bin/bash" >> /etc/passwd echo "Pulse una tecla para proceder a la creación del grupo" read -n1 -s NADA clear #Empezamos la creación del grupo echo "Se procede a crear el grupo al que se va a añadir el usuario" echo "El nombre del grupo es $USUARIO" echo "Introduzca una contraseña encriptada o una (x)" read $CONTRASENA1 echo "El identificador de grupo se añadirá automáticamente" #Para que cree el grupo con un GID que no existe comprobamos de nuevo ordenando los GId que #hay y eleguimos un número más del ultimo creado GID=`more /etc/group | cut -d: -f3 | sort -n | tail -2 | head -1` GID=`expr $GID + 1` echo "La lista de usuarios será el usuario añadido anteriormente" #Pasamos los datos introducidos al archivo en el que se encuentran los grupos del sistema echo "$USUARIO:$CONTRASENA1:$GID:$USUARIO" >> /etc/group echo "El usuario y el grupo se han creado correctamente podrá ver los usuarios en /etc/passwd" echo "Y los grupos en /etc/group" echo "Pulse una tecla para finalizar el Script" read -n1 -s BASURA