Hola chicos, he creado un script bash en macOS para eliminar varios directorios, copiar una carpeta a otra ruta y ejecutar una aplicación como root. Lo extraño es que me pide la contraseña de root 2 veces, al principio de ejecutar el script y nuevamente al ejecutar la última línea del script.
He cambiado algunas líneas del sitio, pero no hay forma de dejar que solicite la contraseña de root por segunda vez. ¿Es esto normal? Soy nuevo en esto.
#!/bin/bash
function msg {
printf "\e[1;34m$1\e[m %s\n"
}
function msg1 {
printf "\e[0;34m$1\e[m %s\n"
}
function msg2 {
printf "\e[1;32m$1\e[m %s\n"
}
clear
msg " ==============Script Bash Shell=============="
echo
msg "Enter your Mac's password and press Enter."
msg1 "When typing the password, you will see nothing, this is normal."
sudo rm -Rf "/Applications/name of application.app"
echo
msg "Cleaning..."
sudo rm -Rf "directory1","directory2","directory3","directory4","directory5","directory5","directory6*","directory7","directory8","directory9","directory10","directory11","directory12"
msg2 "Done!"
echo
msg "Coping App to Applications..."
sudo cp -R "/Volumes/Mounted DMG Disk/nameapplication.app" "/Applications"
msg2 "Done!"
echo
msg "Copying folder Installers a public folder..."
msg1 "Copying may take 1 or 2 minutes to complete."
sudo cp -R "/Volumes/Mounted DMG Disk/Installers" "/Users//$USER/Public/"
msg2 "Done!"
echo
msg "Opening nameapplication.app as root."
sudo "nameapplication.app/Contents/MacOS/binary"
0 votos
Duda resuelta, la respuesta es timestamp_timeout. Una vez que un usuario ha sido autenticado en la Terminal, [...] el usuario puede usar sudo sin contraseña durante un corto período de tiempo (5 minutos). Mi script copia una carpeta de 15GB, en la que el proceso de copia tarda 8 minutos, excediendo el tiempo establecido para timestamp_timeout, cuando la copia termina y el script intenta ejecutar la siguiente linea del código que requiere a sudo, vuelve a pedir contraseña. fuente de la información https://unix.stackexchange.com/questions/382060/change-default-sudo-password-timeout