Я использую STAF для автоматизации тестирования интерфейса db2 с помощью нашего продукта. Я могу запустить команду, используя su - db2inst1 -c "/home/db2inst1/sqllib/bin/db2 list database directory"
но когда я пробую ту же команду с интерфейсом staf, я получаю сообщение об ошибке:
standard in must be a tty
Я прокомментировал "Defaults requiretty" в / etc / sudoers, но по-прежнему имею ту же проблему.
Отбросьте тире (-) в вашей команде su. Это заставляет su запросить оболочку входа в систему. Некоторой программе в вашей цепочке входа может потребоваться tty.
/etc/sudoers
не регулирует поведение su
. Вы хотите что-то вроде
sudo -u db2inst1 "/home/db2inst1/sqllib/bin/db2 list database directory"
Пожалуйста, обратитесь по этой ссылке: Я пробовал второй вариант ssh -t имя пользователя @ сервер 'команда sudo'. У меня это сработало. https://math-linux.com/linux/bash/article/error-standard-in-must-be-a-tty-when-doing-ssh-username-server-sudo-command