Al escribir un script de shell, en el que algunos, pero no todos los comandos, necesitan privilegios de superusuario, ¿debo
agregue sudo a los comandos que necesitan privilegios de superusuario y ejecute el script de shell sin sudo, o
no agregue sudo a esos comandos que necesitan privilegios de superusuario, pero ejecute el script de shell con sudo?
De la segunda forma, solo tendré que proporcionar mi contraseña una vez, pero todos los comandos del script se ejecutarán con privilegios de superusuario, incluidos los comandos que no se necesitan.
De la primera manera, es posible que deba proporcionar mi contraseña varias veces para diferentes comandos sudo, mientras que los privilegios de superusuario se otorgan solo a aquellos comandos que los necesitan.
Por cuestiones de seguridad, la primera forma es mejor. Por conveniencia, la segunda forma es mejor.
He estado pensando en adoptar la primera forma. Así que tengo que lidiar con los inconvenientes de proporcionar mis contraseñas a múltiples comandos sudo en el script de shell.
-
Un script bien escrito detectaría si se estaba ejecutando con los permisos correctos y no llamaría a sudo, pero hay muchos scripts malos
Entonces, ¿debería usar la segunda forma? Si es así,
¿Cómo puedo escribir "el script detectaría si se ejecuta con los permisos correctos y no llama a sudo en absoluto"?
¿Cómo puedo mejorar su seguridad para evitar el problema de otorgar privilegios de superusuario a los comandos que no los necesitan al ejecutar el script con sudo?
- ¿Tendría este enfoque simple lo mejor de ambos enfoques: agregar sudo a los comandos que solo lo necesitan y ejecutar el script con o sin sudo dependiendo de si quiero conveniencia o seguridad? ¿Este enfoque tiene algún problema?
Gracias.
sudo
tenía un caché de credenciales predeterminado. ¿Está deshabilitado en su plataforma?