Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. #!/bin/bash
  2. #Sergio Álvarez Peiro, 740241
  3. #Victor Sisqués Cortés, 740138
  4. usuarios="/etc/passwd"
  5. id=$(id -u)
  6. if [ "$id" != "0" ]
  7. then
  8. echo "Este script necesita privilegios de administracion"
  9. exit 1
  10. fi
  11. if [ $# -ne 2 ]
  12. then
  13. echo "Numero incorrecto de parametros"
  14. elif [ $1 = "-a" ]
  15. then
  16. while read -r line
  17. do
  18. user=$(echo "$line" | cut -d "," -f 1)
  19. pass=$(echo "$line" | cut -d "," -f 2)
  20. name=$(echo "$line" | cut -d "," -f 3)
  21. if [ -n "$user" -a -n "$pass" -a -n "$name" ]
  22. then
  23. actual=$(grep "^$user:" "$usuarios")
  24. if [ -n "$actual" ]
  25. then
  26. echo "El usuario "$user" ya existe"
  27. else
  28. useradd -U -m -K UID_MIN=1000 -k /etc/skel -c "$name" "$user"
  29. echo ""$user":"$pass"" | chpasswd
  30. chage -M 30 "$user"
  31. echo ""$name" ha sido creado."
  32. fi
  33. else
  34. echo "Campo invalido"
  35. exit 1
  36. fi
  37. done < "$2"
  38. elif [ $1 = "-s" ]
  39. then
  40. mkdir -p /extra/backup
  41. while read -r line
  42. do
  43. user=$(echo "$line" | cut -d "," -f 1)
  44. if [ -n "$user" ]
  45. then
  46. actual=$(grep "^$user:" "$usuarios")
  47. if [ -n "$actual" ]
  48. user_home=$(grep "^$user:" "$usuarios" | cut -d":" -f6)
  49. usermod -L "$user"
  50. then
  51. if $(tar -cf /extra/backup/"$user".tar "$user_home"/* > /dev/null 2>&1)
  52. then
  53. userdel -r "$user" > /dev/null 2>&1
  54. fi
  55. fi
  56. else
  57. echo "Campo invalido"
  58. exit 1
  59. fi
  60. done < "$2"
  61. else
  62. echo "Opcion invalida" >&2
  63. exit 1
  64. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement