“echo” password “| sudo -S command ”pede senha

2

Estou tentando executar um script sem me tornar o su user e uso este comando para isso:

echo "password" | sudo -S <command>

Se eu usar este comando para comandos "scp", "mv", "whoami", o comando funciona muito bem, mas quando eu uso para "chmod", o comando pede senha para o meu usuário. Eu não digito a senha e o comando funciona . Meu problema é o sistema pede senha para mim. Eu não quero que o sistema peça senha.

O problema ss é assim:

[myLocalUser@myServer test-dir]$ ls -lt
total 24
--wx-wx-wx 1 root root 1397 May 26 12:12 file1
--wx-wx-wx 1 root root  867 May 26 12:12 script1
--wx-wx-wx 1 root root 8293 May 26 12:12 file2
--wx-wx-wx 1 root root 2521 May 26 12:12 file3

[myLocalUser@myServer test-dir]$ echo "myPassw0rd" | sudo -S chmod 111 /tmp/test-dir/*
[sudo] password for myLocalUser: I DONT WANT ASK FOR PASSWORD

[myLocalUser@myServer test-dir]$ ls -lt
total 24
---x--x--x 1 root root 1397 May 26 12:12 file1
---x--x--x 1 root root  867 May 26 12:12 script1
---x--x--x 1 root root 8293 May 26 12:12 file2
---x--x--x 1 root root 2521 May 26 12:12 file3
    
por Gefolge 30.05.2017 / 16:37

1 resposta

2

sudo imprime este aviso em stderr antes de ler a senha canalizada. Redirecionar erro padrão para evitar vê-lo:

echo "password" | sudo -S command 2> /dev/null
    
por 30.05.2017 / 16:51