2016-11-03 2 views
0

Мне нужно выполнить команду monit restart haproxy после sudo su.Как выполнить команду после sudo su

Это мой script.sh

sudo su 
monit restart haproxy. 

Вот если я буду выполнять файл script.sh, то она будет висеть и не выполнив монит перезапустить HAproxy команду.

Любая идея.

Спасибо в продвижении.

ответ

0

Команда sudo ожидает вас ввести пароль, который почему она будет висеть, вы можете использовать трубу так, что пароль передается команде, как это:

echo <password> | sudo su 
monit restart haproxy. 
+0

Собственно команда sudo su не ожидает пароля. Как будто я сделаю вручную sudo su. то он будет переходить к корневому терминалу без предоставления пароля. Таким образом, основная проблема заключается в том, что после того, как он перейдет к корневому пользователю, тогда он не выполнит команду monit. – ishwar

+0

Имеет ли пользователь root права на выполнение команды 'monit restart haproxy.'? – IamNguele

+0

да .. я могу выполнить monit перезапустить команду haproxy после sudo su. – ishwar

0

Here приходит некоторую информацию о судо су. Вам необходимо ввести пароль для Суда или команды су, вот некоторые цитаты из ссылки я отвечал, что может быть источником вашей проблемы:

Судо - Судо предназначен для выполнения одной команды с привилегиями суперпользователя. Но в отличие от su, он запрашивает пароль текущего пользователя. Этот пользователь должен находиться в файле sudoers (или группе, находящейся в файле sudoers). По умолчанию Ubuntu «запоминает» ваш пароль в течение 15 минут, так что вам не нужно вводить пароль каждый раз.

Смежные вопросы