Как предоставить пароль непосредственно к sudo su -<someuser> в сценариях оболочки </someuser>
609
raamsaara
Я получил требование для автоматизации в сценарии оболочки, для sudo su -<someuser>которого запрашивает пароль.
Как предоставить пароль непосредственно для сценариев оболочки sudo в оболочке для серверов IBM AIX. Я пытался с echo <password> | sudo su -<someuser>его помощью не работает. пожалуйста, помогите в этом.
3 ответа на вопрос
1
chloesoe
использование -S
man sudo:
-S, --stdin Записать подсказку к стандартной ошибке и прочитать пароль из стандартного ввода вместо использования терминального устройства. За паролем должен следовать символ новой строки.
так что вы можете использовать:
echo <myPassword> | sudo -S su <someuser>
Изменить: это выше не работает на тестовой Ubuntu. Похоже, вторая команда "su" - это быстро после запроса пароля.
Я сделал обходной путь, чтобы подождать секунду, чтобы эхо-пароль мог быть заполнен, и затем второй sudo сможет запустить sudo su - foobar:
В моем Debian `su` выходит. Однако `sudo su -` вызывается сразу после работы благодаря кэшированным учетным данным. Это может быть обходной путь, если вы можете положиться на это поведение.
Kamil Maciorowski 6 лет назад
0
это не работает.
raamsaara 6 лет назад
0
@raamsaara: что именно не работает? вы получили ошибку? тем временем я отредактировал свой ответ, чтобы добавить обходной путь, который работал на моей машине.
chloesoe 6 лет назад
0