Existe um truque muito bom em todos os Linux que permitirão que você faça isso. É chamado o bit SetUI.
Lembre-se de que você precisará ter as permissões bloqueadas nesse arquivo para que isso seja seguro.
Crie o arquivo que pertence à raiz e à raiz do grupo:
sudo chown root.root <my script>
Agora defina o bit SetUID, torne-o executável para todos e apenas gravável pelo root:
sudo chmod 4755 <my script>
Tenha em mente que se este script permitir qualquer entrada ou edição de arquivos, isso também será feito como root.
O bit SetUID faz com que um script ou binário seja sempre executado como o proprietário do arquivo / binário, um exemplo de tal binário é 'passwd'.
Existe uma solução usando sudoers aqui é um exemplo que você poderia usar. Adicione estas duas linhas no final do seu arquivo sudoers. Você pode usar visudo para editar o arquivo sudoers.
Cmnd_Alias CMDS = /path/to/your/script
<username> ALL=NOPASSWD: CMDS
Agora basta colocar o sudo na frente do seu script e ele deve ser executado sem pedir uma senha.