цель состоит в том, чтобы перезагрузить машину, если она не получает команду abort от пользователя. Проблема в том, что при настройке терминалов пользователь должен указать пароль SU для shutdown
,init
,reboot
, etc. команды. Нам интересно, можно ли предоставить пароль в самом сценарии bash, возможно, используя stdin.
то есть:
#!/bin/bash
# (script)
echo "Terminal will restart in 60s, Ctrl+C to cancel."
sleep 60
su - root -c "init 6" < "password"
мы попробуем поместить пароль в файл и stdin, что.
Edit:sudo
и expect
вне как разрешения как их установка будет невозможна из-за огромного количества документов для получения разрешения и ограниченного периода времени. Также мы хотели бы использовать init 6
или shutdown -r
, а не reboot
.