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.
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.
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.
/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 favor, consulte este link: Eu tentei a segunda opção do ssh -t username @ server 'comando sudo' . Isso funcionou para mim. link
Tags su automated-testing