Необходимо выполнить файл скрипта с помощью пользователя sudo — запустить из teamcity

Мне нужно выполнить скрипт на платформе Linux «runme.sh» (который может быть выполнен как пользователь sudo), используя другой скрипт ant «build.xml». Теперь я выполнил этот build.xml из teamcity.

У меня есть код для всего, но я столкнулся с ним при вызове «runme.sh» с помощью sudo в build.xml из team city.

В build.xml у меня есть код вроде

    <exec dir="${installdir}" executable="/bin/sh">
        <arg line="-c 'sudo ./runme.sh'"/>
        <redirector inputstring="sudopassword"/>        
    </exec>

В командном городе я получаю сообщение об ошибке «[exec] sudo: извините, для запуска sudo у вас должен быть tty».

Может кто-нибудь, пожалуйста, помогите мне решить эту ошибку?

заранее спасибо


person coolgokul    schedule 30.07.2012    source источник


Ответы (1)


На вашем компьютере настроен sudo с включенной опцией requiretty. Вы можете отключить эту опцию, но она создает брешь в безопасности; лучшее решение - использовать вместо этого su --session-command. См. эта ссылка для более подробного объяснения.

person gareth_bowles    schedule 30.07.2012
comment
По ссылке написано не найдено - person nafg; 13.01.2015