I ended up using the -k flag of sudo to invalidate the time stamp. so i just added that flag to every sudo call and let expect pass in the password.
Ожидайте и sudo таймаут
У меня есть основной сценарий оболочки, который запрашивает у пользователя пароль. Затем я хотел бы вызвать сценарий ожидания, передавая ему пароль. Этот ожидаемый скрипт будет запускать 3 команды sudo.
Я знаю, что для блоков linux, на которых будет запускаться мой сценарий, timestamp_timeout установлено какое-то значение в их sudoers. Моя проблема в том, что у меня есть общее представление о том, как написать это ожидание, но я не знаю, как обрабатывать следующие случаи:
1) Я могу отправить пароль на первую команду sudo нормально. Это sudo удалит большой каталог, для удаления которого может потребоваться несколько минут, который может превышать или не превышать установленное значение timestamp_timeout. Итак, как я могу сделать необязательным ожидание запроса пароля для моей второй и третьей команд sudo.
2) Скажем, по какой-то странной причине сценарий умирает или пользователь прерывает его. Когда он пытается запустить его снова, мы все еще находимся во времени timestamp_timeout. Это требует, чтобы ожидаемый пароль для первой команды также был необязательным.
Вот что у меня есть:
#!/usr/bin/expect set password [lindex $argv 0] spawn sudo rm -rvf /mnt/repo expect "*?assword:*" send "$password\r" send "sudo mkdir -v /mnt/hwrrepo" expect "*?assword:*" send "$password\r"; send "sudo chmod -R 777 /mnt/hwrrepo" expect "*?assword:*" send "$password\r"; interact
1 ответ на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4