Ситуация
Предположим, я разрешаю администратору «Shady Sam» на моей рабочей станции выполнять важные административные задачи на моем Mac Pro, предоставляя им временный пароль для входа в систему. (Предположим , что они были надежными, возможно, системы администратора для моей компании.)
Из удаленного места (например, дома) я использую свой ноутбук MacBook Pro, чтобы наблюдать за действиями Сэма и учиться самому выполнять задачу через удаленный рабочий стол (VNC).
Без предупреждения Шейди Сэм делает что-то подлое! Возможно, я вижу, как он пытается удалить данные с моего жесткого диска или пытается открыть ограниченные папки и т. Д. Независимо от этого подлого поступка, я хочу немедленно заблокировать Шейди Сэма и максимально обезопасить компьютер из моего удаленного местоположения.
Поскольку мы совместно используем мышь и клавиатуру, я не могу надежно выполнить действие из удаленного рабочего стола (кроме того, они могут закрыть соединение). Я должен был написать сценарий и запустить его удаленно.
Соревнование
Какой лучший сценарий (например, panicScript.sh
или panicScript.py
), который я мог бы запустить удаленно, чтобы остановить Шейди Сэма от совершения его подлого поступка и помешать ему повторить попытку?
Я предполагаю, что я управляю этим следующим образом:
scp panicScript.sh remoteMachine:~/panicScript.sh
ssh remoteMachine . ~/panicScript.sh
Возможные особенности:
Другие идеи прямо поощряются!
- Изменить пароли любых / всех учетных записей на remoteMachine
- Отключить клавиатуру или мышь
- Отключить монитор
- Перезагрузите машину
Предположения
Shady Сэм не повредит Mac Pro в любом случае или удалить какой - либо из его компонентов (например , физически удалить жесткий диск или проводное подключение к сети), но он будет пытаться войти заново и продолжить его подлое дело как можно быстрее. Сэм имеет (в противном случае) неограниченный физический доступ к компьютеру и пароль для входа в систему.
Предположим, что у Mac Pro есть монитор, клавиатура, мышь, внешний жесткий диск и подключение к сети Ethernet для Интернета. Предположим, он может печатать на сетевом принтере в общей области. Для забавы, давайте предположим, что у меня есть стандартная учетная запись пользователя на нескольких рабочих станциях коллег, которые идентичны моей (так что я могу подключаться к их машинам через ssh
).
Предположим, что есть дюжина кабин под открытым небом, сгруппированных вместе, чтобы коллеги могли встать и поговорить друг с другом. Мои коллеги, однако, обычно не подозревают, что Шейди Сэм делает что-то подлое, если они видят его за моим компьютером, потому что он помогал нескольким из них в прошлом и не делал подлых поступков со своими компьютерами.
Ограничения
Сценарий паники изначально на моем ноутбуке дома. Вы можете подключить scp
его к моей машине и запустить его там или запустить прямо с моего ноутбука дома. (Укажите в своем ответе!)
Все действия, предпринимаемые сценарием, должны быть неповрежденными и / или обратимыми из моего удаленного местоположения, чтобы я мог восстановить доступ на более позднем этапе из моего удаленного местоположения, и должны быть стандартными функциями / командами на Mac Pro.
Скрипт может вызывать другие скрипты / программы, если они входят в стандартную комплектацию машины. Инструменты сценариев командной строки (например awk
) в порядке, если их команды содержатся в основном сценарии (например history | awk '{print $2}'
). Это по общему признанию ограничивает языки сценариев, которые могли бы использоваться.
Вызов пользовательского сценария или программы, которую вы написали (например . ~/myOtherScriptOfKungFoo.sh
), не подходит, если только вы не сгенерируете их из своего сценария, а созданный сценарий содержит менее 32 символов:
echo -e "#"'!'"/bin/bash\necho \"Hello, World\"" >> test.sh
chmod +x test.sh
. test.sh
Мне не нужно взаимодействовать со сценарием более одного раза (например, для ввода пароля).
критерии
Сценарий должен быть коротким (не более 30 строк), но читаемым. Основными критериями является тщательность, креативность и стиль, что лучше, чем простота.
В конечном счете, большинство голосов выигрывает!