Написати панічний сценарій, щоб віддалено захистити Mac Pro від ненадійного місцевого користувача [закрито]


12

Ситуація

Припустимо, я дозволяю адміністратору "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 рядків), але читабельним. Основними критеріями є ретельність, креативні риси та стиль, що краще простоти.

Зрештою, виграє найбільше голосів!


28
Порада: не наймайте нікого на ім'я Шаді Сем.
Геобіт

Відповіді:


10

Сценарій паніки слід надіслати на віддалений комп'ютер (Mac Pro) за допомогою scp, а потім запустити (не потрібно судо або будь-який вхід):

Ось сценарій: (це передбачає, що ви Джон Сміт)

#!/bin/bash -m
f() {
 while true
 do
  pmset displaysleepnow
  sleep 0.1
 done
}
f&
while true
do
 osascript -e "set Volume 10"
 say -v Ralph "Stop Shady Sam now. He is trying to do something he is not allowed to."
 for n in {1..10};
 do
  afplay /System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/Hit.aiff
  sleep 0.05
 done
 sleep 0.1
 say -v Ralph "This is John Smith speaking."
done

Щоб досягти максимальної ефективності, слід запустити це на кожній машині в кімнаті, щоб усі помітили проблему та зупинили його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.