sudo não é bem-sucedido quando chamado pelo gerenciador de arquivos

1

Estou tentando executar o seguinte script em uma instalação do Fedora 20.

#!/bin/bash
password={password}
echo "$password" | sudo -Sk /bin/bash -c '[[ $EUID -eq 0 ]]'
[[ $? -ne 0 ]] && zenity --error --text failed. || zenity --error --text success.

Ao tentar executar a partir de um emulador de terminal, ele reporta sucesso, mas ao clicar duas vezes no script a partir de um gerenciador de arquivos (Thunar neste caso), ele relata falha.

Em algumas outras distros (por exemplo, Debian Wheezy), tenho um comportamento consistente.

Por que isso seria o caso e o que devo fazer para resolver esse problema?

    
por user2064000 18.01.2015 / 06:04

2 respostas

2

No arquivo / etc / sudoers (acessível com visudo), procure por requiretty . Você pode desativar isso para o programa com:

Defaults!/path/to/program !requiretty

No seu caso - você está usando bash, então este caminho seria o que você obtiver de which bash .

    
por 18.01.2015 / 13:08
2

Você deve verificar se o sudo não requer tty no arquivo /etc/sudoers ( requiretty não deve ser definido).

    
por 18.01.2015 / 11:53

Tags