Executando um comando um usuário diferente usando 'su' dá “padrão em deve ser um tty”

1

Estou usando o STAF para automatizar o teste da interface do db2 com nosso produto. Eu sou capaz de executar o comando usando su - db2inst1 -c "/home/db2inst1/sqllib/bin/db2 list database directory" , mas quando eu tento o mesmo comando com a interface do staf estou recebendo o erro:

standard in must be a tty

Eu comentei o "Defaults requiretty" em / etc / sudoers, mas ainda tenho o mesmo problema.

    
por Sanjeev 15.04.2011 / 11:19

3 respostas

2

Solte o traço solitário (-) no comando su. Isso aciona o su para solicitar um shell de login. Um tty pode ser exigido por algum programa em sua cadeia de login.

    
por 15.04.2011 / 12:23
0

/etc/sudoers não rege o comportamento de su . Você quer algo como

sudo -u db2inst1 "/home/db2inst1/sqllib/bin/db2 list database directory"
    
por 15.04.2011 / 12:04
0

Por favor, consulte este link: Eu tentei a segunda opção do ssh -t username @ server 'comando sudo' . Isso funcionou para mim. link

    
por 08.12.2017 / 08:33