我正在使用STAF来自动化我们的产品的db2接口testing。 我能够使用su - db2inst1 -c "/home/db2inst1/sqllib/bin/db2 list database directory"
命令,但是当我用staf接口尝试相同的命令时,出现错误:
standard in must be a tty
我在/ etc / sudoers中评论了“Defaults requiretty”,但仍然有同样的问题。
在你的su命令中放下单独的破折号( – )。 这触发su要求loginshell。 您的login链中的某个程序可能需要tty。
/etc/sudoers
不pipe理su
的行为。 你想要的东西
sudo -u db2inst1 "/home/db2inst1/sqllib/bin/db2 list database directory"