O problema pode ser que a linha de comando
sudo echo "test ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
redirecionará a saída do comando sudo
, usando a identidade do usuário original para realizar o redirecionamento - e como você precisa de acesso root para gravar em /etc/sudoers
, isso falhará. O comando echo
é executado como root, mas não faz o redirecionamento - isso já foi configurado pelo shell que estava preparando a linha de comando sudo echo ...
para execução. E como você está usando o sudo aqui, suspeito que o shell não está sendo executado como root.
Você pode reformular isso como:
echo "test ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers >/dev/null
Nesta versão:
- o comando
echo
é executado como o usuário original - o redirecionamento para / dev / null é executado como o usuário original
- mas
tee -a <filename>
acrescenta uma cópia da entrada canalizada ao arquivo especificado como raiz, que é exatamente o que você precisa para acontecer.