Q#1: Will I only be prompted for a sudo password once, or will I need to enter the sudo password on each invocation of a command inside the script, that needs sudo permission?
Sim, uma vez, durante a execução do seu script.
NOTA: Quando você fornece credenciais para sudo
, a autenticação normalmente é válida por 5 minutos no shell em que você digitou a senha. Além disso, qualquer processo filho executado a partir desse shell ou qualquer script executado no shell (seu caso) também será executado no nível elevado.
Q#2: is there still a possibility that the sudo permissions will time out (if, for instance, a particular command takes long enough to exceed the sudo timeout)? Or will the initial sudo password entrance last for the complete duration of whole script?
Não, eles não terão tempo limite no script. Somente se você estivesse interativamente digitando-os no shell em que as credenciais foram fornecidas. Toda vez que sudo
é executado dentro deste shell, o timeout é resetado. Mas no seu caso, as credenciais permanecerão enquanto o script estiver sendo executado e executando comandos de dentro dele.
This limit is policy-specific; the default password prompt timeout for the sudoers security policy is 5 minutes.