Comments 23
ssh вход по ключам на все машины и ssh root@ shutdown -h now
А дальше обернуть это в обычный bash скрипт.
И никакого expect не надо.
А дальше обернуть это в обычный bash скрипт.
И никакого expect не надо.
Об этом есть в статье. Тем более вход рутом отключен
Да не вопрос. sudoers никто не отменял.
sudo тоже не тру-решение. Можно настроить разрешение только для ограниченного списка команд, но это не так интересно
Это перевод? Просто язык текста на столько трудно читаем. И цель стать какая? Показать как работает expect, или выключить компьютеры?
Просто в данном случае, авторизация по ключам команда shutdown, это цикл тело которого всего 1 строка, и без имитации поведения пользователя.
Просто в данном случае, авторизация по ключам команда shutdown, это цикл тело которого всего 1 строка, и без имитации поведения пользователя.
Про авторизацию по ключу уже написали.
чтоб лишний софт не запускали достаточно снять флаг exec с /usr/bin/firefox и монтировать /home и т.п. с noexec
чтоб лишний софт не запускали достаточно снять флаг exec с /usr/bin/firefox и монтировать /home и т.п. с noexec
А смысл? Для учебного процесса он нужен, дёргать флаги туда-сюда только для отключения браузера это слишком. Но для выпиливания флэша примерно так и сделали.
Опять же, зачем нам /home, из которого нельзя ничего запустить, если ученики часто запускают что-то своё в пользовательской зоне, и это нормально. Хотя в целом разрулить права на запуск потоньше тоже интересно
Опять же, зачем нам /home, из которого нельзя ничего запустить, если ученики часто запускают что-то своё в пользовательской зоне, и это нормально. Хотя в целом разрулить права на запуск потоньше тоже интересно
чтоб лишний софт не запускалиМожет проще Restricted shell например rbash воспользоваться?
Посмотрите в сторону ansible, может пригодится вам. Может работать поверх ssh с паролем, выполнять скрипты/команды на удаленной системе через sudo.
mssh список машин
. В получившемся окне делаем killall -u username
— задача решена. Если машин больше -цати, то используем параллельный запуск команды в цикле — получаем параллелизм для бедных. Всё решение задачи — половина однострочника.expect { "(yes/no)?*" { send «yes\r» // не забывайте про \r в конце строки, перед кавычками. Иначе волшебства не получится }
Попробуйте опцию StrictHostKeyChecking=no, тогда волшебства делать будет не нужно.
А я всегда, видимо ошибочно, считал что expect это просто скрипт TCL/TK идущий в стандартной поставке TCL/TK. А он, оказывается, может быть установлен самостоятельно в /bin/, да?
www.nist.gov/el/msid/expect.cfm в Gentoo он в категории dev-tcltk
Sign up to leave a comment.
Автовход с паролем и управление по ssh «в гостях» при помощи expect