Advertisement
javidocente

1SMR_SOM_BASH_23-24 - EJERCICIO ACTUALIZACIÓN COMO SUPERUSUARIO

Apr 16th, 2024 (edited)
606
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.22 KB | None | 0 0
  1. # ENUNCIADO
  2. # ----------
  3. # Realiza un script que te permita actualizar de forma completa el sistema, borrando paquetes innecesarios si los hubiera.
  4. # El script deberá:
  5. #   *) Pedirte la contraseña de super usuario por consola. La contraseña no debe ser visible.
  6. #   *) Intenta loguearte como root con esa contraseña.
  7. #   *) Comprueba el resultado del comando anterior y:
  8. #       +) Si no te logueas correctamente, indícale al usuario que la contraseña es incorrecta.
  9. #       +) Si te logueas correctamente, actualiza el sistema de forma completa, borrando paquetes innecesarios si los hubiera.
  10. #   *) Si te logueas correctamente, realiza la actualización y comprueba:
  11. #       +) Si no ha habido error en el resultado comando de actualización, se avisará al usuario de que se ha actualizado el sistema          correctamente.
  12. #       +) Si hubo error en el resultado comando anterior, se avisará al usuario con un mensaje de error de que no se pudo actualizar el sistema correctamente.
  13. #
  14. # SOLUCIÓN
  15. # ---------
  16.  
  17. #!/bin/bash
  18.  
  19. # Solicitar la contraseña de superusuario de forma segura.
  20. read -r -s -p "Introduce la contraseña de superusuario: " password
  21. # -r: Hace que el comando read interprete la entrada de forma literal,
  22. #     desactivando la interpretación de los caracteres de escape como '\'.
  23. # -s: Hace que el comando read actúe en modo silencioso (silent), lo que
  24. #     significa que la entrada del usuario no se mostrará en la pantalla
  25. #     mientras se escribe, útil para contraseñas u otras entradas sensibles.
  26. # -p "Introduce la contraseña de superusuario: ": Muestra el mensaje
  27. #     "Introduce la contraseña de superusuario: " como un prompt (mensaje)
  28. #     antes de que el usuario introduzca la contraseña.
  29.  
  30. # Intentar autenticarse como superusuario.
  31. echo "$password" | sudo -Sv
  32. # echo "$password": Imprime la contraseña en la entrada estándar.
  33. # |: Tubería, conecta la salida de echo a la entrada de sudo.
  34. # sudo -Sv: Ejecuta el comando sudo en modo silencioso (-S) para leer la
  35. #     contraseña de la tubería, luego ejecuta el comando "sudo -v" para
  36. #     validar las credenciales del usuario sin realizar ninguna acción.
  37.  
  38. # Comprobar el resultado de la autenticación.
  39. if [ $? -eq 0 ]; then
  40.     # Si la autenticación fue exitosa, actualizar el sistema.
  41.     # -y: Confirmar automáticamente cualquier pregunta que pueda surgir durante
  42.     #     el proceso de actualización.
  43.     # update: Actualiza la lista de paquetes disponibles.
  44.     # upgrade: Actualiza los paquetes instalados a las versiones más recientes.
  45.     # autoremove: Elimina automáticamente los paquetes que ya no son necesarios.
  46.     # &&: Operador lógico "y" que se utiliza para encadenar comandos, asegurando
  47.     #     que el siguiente comando solo se ejecute si el anterior tiene éxito.
  48.     sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove -y
  49.  
  50.     # Comprobar el resultado de la actualización.
  51.     if [ $? -eq 0 ]; then
  52.         echo "Actualización completada correctamente."
  53.     else
  54.         echo "Error: Hubo un problema durante la actualización del sistema."
  55.     fi
  56. else
  57.     # Si la autenticación falló, indicar al usuario que la contraseña es incorrecta.
  58.     echo "Contraseña de superusuario incorrecta. Inténtalo de nuevo."
  59. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement