У меня есть сценарий оболочки, которому требуется учетная запись пользователя без полномочий root для запуска определенных команд, а затем изменение пользователя на пользователя root для запуска остальной части сценария. Я использую SUSE11. Я использовал expect для автоматизации запроса пароля. Но когда я использую spawn su - и команда выполняется, приглашение возвращается с корнем, а остальная часть скрипта не выполняется.
Eg.
< non-root commands>
spawn su -
<root commands>
Но после su приглашение возвращается обратно с пользователем как root. Как выполнить оставшуюся часть скрипта.
Параметр sudo -S не помогает, так как он не запускает команду sudo -S ifconfig, которая мне нужна, чтобы найти IP-адрес машины.
Я уже просмотрел эти ссылки, но не смог найти решение: Изменить каталог сценария на домашний каталог пользователя в сценарии оболочки
bash
, вы можете создать функцию и передать определениеsudo
: unix.stackexchange.com/questions/269078/ - person Nishant   schedule 22.05.2021