Advertisement
angeldp

usuariosLin.sh

Jun 23rd, 2015
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.14 KB | None | 0 0
  1. #!/bin/bash
  2. # usuariosLin.sh
  3. # angeldp
  4. ############################################
  5. ## Script que se encarga de crear usuarios##
  6. ## Sin utilizar los comandos useradd      ##
  7. ############################################
  8. clear
  9. #Con la funcion error la creamos para que si queremos llamarla alguna vez que supongamos que
  10. #pueda producirse un error
  11. function error(){
  12. clear
  13. echo "Se a producido un error"
  14. echo "Se finalizará el Script"
  15. exit
  16. }
  17. #Creamos una funcion llamada ordenar que lo que hace es coger del archivo que nosotros
  18. #llamemos, corte el campo 3 y lo ordene de menor a mayor y que quite el ultimo numero que no
  19. #vale y después con el mismo nombre lo que hacemos es que al último número le sume uno más.
  20. function ordenar(){
  21. ORDENUID=`more $1 | cut -d":" -f3 | sort -n | tail -2 | head -1`
  22. ORDENUID=`expr $ORDENUID + 1`
  23. }
  24. #Comprobamos que /etc/passwd exite el fichero para empezar el Script y si no existe llamamos
  25. #a la función error para que salga del Script
  26. if [ -f /etc/passwd ]
  27.     then
  28.         echo "Introduzca el nombre de usuario"
  29.         read USUARIO
  30.     else
  31.     error
  32. fi
  33. #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
  34. USU=`more /etc/passwd | grep "^${USUARIO}:" | cut -d: -f1`
  35. #En caso de que hubiese un usuario en el sistema con el mismo nombre que
  36. # el usuario introducido en este Script daria un error y saldria del Script.
  37. if [ "${USU}" == "${USUARIO}" ]
  38.     then
  39.     echo "El usuario ya existe, se finalizará el Script"
  40.     exit
  41. fi
  42. echo "Introduzca una contraseña encriptada o una (x)"
  43. read CONTRASENA
  44. echo "El identificador de usuario (UID) se añadirá automáticamente"
  45. echo "El identificador de grupo (GID) se correspone con el grupo $USUARIO"
  46. echo "Los comentarios no se añadirán"
  47. echo "La ruta al directorio personal es:/home/$USUARIO"
  48. echo "la shell es: /bin/bash"
  49. #Llamamos a la variable ordenar para que se ejecute con el archivo /etc/passwd
  50. ordenar /etc/passwd
  51. #Introducimos los datos recogidos a /etc/passwd para que se cree el usuario
  52. echo "$USUARIO:$CONTRASENA:$ORDENUID:$ORDENUID::/home/$USUARIO:/bin/bash" >> /etc/passwd
  53. echo "Pulse una tecla para proceder a la creación del grupo"
  54. read -n1 -s NADA
  55. clear
  56. #Empezamos la creación del grupo
  57. echo "Se procede a crear el grupo al que se va a añadir el usuario"
  58. echo "El nombre del grupo es $USUARIO"
  59. echo "Introduzca una contraseña encriptada o una (x)"
  60. read $CONTRASENA1
  61. echo "El identificador de grupo se añadirá automáticamente"
  62. #Para que cree el grupo con un GID que no existe comprobamos de nuevo ordenando los GId que
  63. #hay y eleguimos un número más del ultimo creado
  64. GID=`more /etc/group | cut -d: -f3 | sort -n | tail -2 | head -1`
  65. GID=`expr $GID + 1`
  66. echo "La lista de usuarios será el usuario añadido anteriormente"
  67. #Pasamos los datos introducidos al archivo en el que se encuentran los grupos del sistema
  68. echo "$USUARIO:$CONTRASENA1:$GID:$USUARIO" >> /etc/group
  69. echo "El usuario y el grupo se han creado correctamente podrá ver los usuarios en /etc/passwd"
  70. echo "Y los grupos en /etc/group"
  71. echo "Pulse una tecla para finalizar el Script"
  72. read -n1 -s BASURA
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement