Adicionando o seguinte a sudoers :
myUsername ALL=(ALL) NOPASSWD: /path/to/down.sh
Você permitiu que myUsername executasse o script /path/to/down.sh com privilégios elevados. Isso significa que você pode emitir o seguinte comando:
sudo /path/to/down.sh
Seria suficiente executar todo o seu script com privilégios elevados e não pediria uma senha. Você não precisa colocar sudo adicional para chown ou chmod , pois esses comandos herdarão permissões do script (mas, neste caso, sudo chown seria executado sem problemas, pois root tem permissões para executar todos comandos sem prompt de senha).
Esse é um caminho possível.
O outro jeito ...
Você não permitiu que myUsername executasse chown ou chmod em sudoers . Se você quisesse executar o script como um usuário comum e permitir apenas que determinados comandos fossem executados como root , você deve especificar todos eles em sudoers , por exemplo:
myUsername ALL=(ALL) NOPASSWD: /usr/sbin/chown
seu caminho para binários pode ser diferente
ou especifique alias de comando:
Cmnd_Alias FILEPERM_CMDS = /usr/sbin/chown, /usr/sbin/chmod
myUsername ALL=(ALL) NOPASSWD: FILEPERM_CMDS
Dessa forma, você pode usar seu script como está.
Por fim, você especificou suas permissões em # User alias specification . Este é apenas um bom conselho prático, mas não é sobre isso que trata esta seção. Você deve preferir que ele seja adicionado a # User privilege specification .
Dê uma olhada nos exemplos de sudoers para alguns cenários comuns.