Suprimir “sudo: desculpe, uma senha é necessária para executar o sudo” [closed]

3

Estou tentando testar se um usuário possui os direitos de sudo necessários para executar um comando como outro usuário sem fornecer uma senha. O que eu tenho é isso

 sudo -u other-user -n true
  if [ $? -ne 0 ]; then
    echo "ERROR: You don't have the neccessary sudo rights"
  else
    echo "OK. You do have the neccessary sudo rights"
  fi

No entanto, os scripts imprimem essa mensagem de erro se o sudo exigir uma senha

  sudo: sorry, a password is required to run sudo

É possível suprimir esta mensagem de erro?

Eu tentei redirecionar o erro do sistema e o sistema para fora, mas a mensagem de erro ainda aparece.

  sudo -u other-user -n true > /dev/null 2>&1
    
por sstendal 27.08.2014 / 16:35

1 resposta

1

O caminho normal funciona bem para mim:

$ sudo -u test -n true  
sudo: a password is required
$ echo $?                                   
1
$ sudo -u test -n true >/dev/null 2>&1
$ echo $?                                   
1

Mas, se por alguma razão isso não ajudar, tente:

$ { sudo -u test -n true ; } >/dev/null 2>&1
$ echo $?                                   
1
$ ( sudo -u test -n true ) >/dev/null 2>&1
$ echo $?                                 
1
    
por 27.08.2014 / 22:31

Tags