Ситуація
Припустимо, я дозволяю адміністратору "Shady Sam" на своїй робочій станції виконувати важливе адміністративне завдання на моєму Mac Pro, надаючи їм тимчасовий пароль для входу в систему. (Припустимо, вони були надійними, можливо, адміністратором систем для моєї компанії.)
З віддаленого місця (наприклад, додому) я використовую свій ноутбук MacBook Pro, щоб спостерігати за діями Сема та навчитися виконувати завдання самостійно за допомогою віддаленого робочого столу (VNC).
Без попередження Шаді Сем робить щось зухвало! Можливо, я бачу його, як він намагається видалити дані з мого жорсткого диска або зіштовхується з папками з обмеженим доступом і т. Д. Яким би не було підступним ділом, я хочу негайно заблокувати Шаді Сейма і захистити комп'ютер якнайкраще від мого віддаленого місця.
Оскільки ми ділимося мишею та клавіатурою, я не міг надійно виконати дію з віддаленого робочого столу (крім того, вони могли закрити з'єднання). Мені довелося б написати сценарій і запустити його віддалено.
Змагання
Який найкращий сценарій (наприклад, panicScript.sh
чи panicScript.py
), який я міг би запустити віддалено, щоб утримати Шаді Сэма у виконанні свого підступного вчинку і не допустити його повторної спроби?
Я передбачаю, що я його виконую наступним чином:
scp panicScript.sh remoteMachine:~/panicScript.sh
ssh remoteMachine . ~/panicScript.sh
Можливі можливості:
Інші ідеї прямо заохочуються!
- Змінення паролів будь-яких / всіх облікових записів на віддаленій машині
- Вимкнення клавіатури чи миші
- Вимкніть монітор
- Перезавантажте машину
Припущення
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 рядків), але читабельним. Основними критеріями є ретельність, креативні риси та стиль, що краще простоти.
Зрештою, виграє найбільше голосів!