Se você quiser rodar este e somente este script como um usuário normal sem nenhum outro direito do sudo, ou se quiser rodá-lo com o sudo sem digitar a senha, você pode adicioná-lo aos seus sudoers.
por exemplo.
sudo echo "[username] ALL = NOPASSWD: /path/to/your/script" >/etc/sudoers.d/myscript
No entanto, isso é meio que meh em segurança, pois se alguém puder editar esse script como seu usuário, ele poderá executar qualquer comando como sudo sem saber sua senha, então tome cuidado ao usá-lo.
Apenas certifique-se de que o script seja de propriedade de root e os direitos de gravação estejam apenas em seu proprietário, para que ninguém mais possa alterá-lo.
Você também pode usar chattr
para garantir que ninguém possa modificar seu script:
sudo chattr +i script.sh
De man chattr
:
Afinal, basta executar sudo myscript
e executá-lo com direitos de root sem solicitar uma senha.