Situasi
Misalkan saya mengizinkan akses admin "Shady Sam" di workstation saya untuk melakukan tugas administratif penting pada Mac Pro saya untuk saya dengan memberi mereka kata sandi login root sementara. (Asumsikan mereka yang dapat dipercaya, mungkin sistem admin untuk perusahaan saya.)
Dari lokasi yang jauh (mis. Rumah), saya menggunakan laptop MacBook Pro saya untuk mengamati aktivitas Sam dan belajar bagaimana melakukan tugas itu sendiri melalui Remote Desktop (VNC).
Tanpa peringatan, Shady Sam melakukan sesuatu yang pengecut! Mungkin saya melihatnya mencoba menghapus data dari hard drive saya atau mengintip ke folder terbatas, dll. Apa pun tindakan pengecut itu, saya ingin segera mengunci Shady Sam, dan mengamankan komputer sebaik mungkin dari lokasi terpencil saya.
Karena kami membagikan mouse dan keyboard, saya tidak dapat melakukan aksi dari Remote Desktop dengan andal (selain itu, mereka dapat menutup koneksi). Saya harus menulis skrip dan menjalankannya dari jarak jauh.
Tantangan
Apa naskah terbaik (mis. panicScript.sh
Atau panicScript.py
) yang bisa saya jalankan dari jarak jauh untuk menghentikan Shady Sam dari melakukan perbuatan pengecutnya dan mencegahnya dari mencoba lagi?
Saya membayangkan diri saya menjalankannya dengan cara berikut:
scp panicScript.sh remoteMachine:~/panicScript.sh
ssh remoteMachine . ~/panicScript.sh
Kemungkinan Fitur:
Gagasan lain sangat dianjurkan!
- Ubah kata sandi dari setiap / semua akun di remoteMachine
- Nonaktifkan keyboard atau mouse
- Nonaktifkan monitor
- Nyalakan ulang mesin
Asumsi
Shady Sam tidak akan merusak Mac Pro dengan cara apa pun atau menghapus salah satu komponennya (mis., Melepas secara fisik hard drive atau koneksi jaringan kabel), tetapi ia akan mencoba masuk kembali dan melanjutkan tindakan pengecutnya secepat mungkin. Sam memiliki (kecuali) akses fisik tidak terbatas ke komputer dan kata sandi login root.
Asumsikan Mac Pro memiliki monitor, keyboard, mouse, hard drive eksternal, dan koneksi ethernet untuk internet. Misalkan dapat mencetak ke printer jaringan di area umum. Untuk bersenang-senang, anggaplah saya memiliki akun pengguna standar di beberapa workstation rekan kerja, yang identik dengan milik saya (jadi saya dapat terhubung ke mesin mereka melalui ssh
).
Asumsikan ada selusin bilik udara terbuka yang dikelompokkan bersama sehingga rekan kerja dapat berdiri dan berbicara satu sama lain. Namun rekan kerja saya, pada umumnya tidak akan curiga bahwa Shady Sam melakukan sesuatu yang pengecut jika mereka melihatnya di komputer saya karena dia telah membantu beberapa dari mereka di masa lalu dan tidak melakukan hal-hal pengecut ke komputer mereka.
Kendala
Skrip panik awalnya di laptop saya di rumah. Anda dapat scp
melakukannya di komputer saya dan menjalankannya di sana, atau menjalankannya langsung dari laptop saya di rumah. (Tentukan dalam respons Anda!)
Semua tindakan yang diambil oleh skrip harus tidak merusak dan / atau dapat dibalik dari lokasi jarak jauh saya sehingga saya dapat memperoleh kembali akses di titik selanjutnya dari lokasi jarak jauh saya, dan harus merupakan fitur / perintah standar pada Mac Pro.
Skrip dapat memanggil skrip / program lain asalkan sesuai dengan standar mesin. Alat skrip baris perintah (mis. awk
) Boleh saja selama perintahnya terkandung dalam skrip utama (mis history | awk '{print $2}'
.). Ini memang membatasi bahasa scripting yang bisa digunakan.
Memanggil skrip atau program khusus yang Anda tulis (mis. . ~/myOtherScriptOfKungFoo.sh
) Tidak apa-apa, kecuali jika Anda membuatnya dari dalam skrip Anda dan skrip yang dihasilkan di bawah 32 karakter:
echo -e "#"'!'"/bin/bash\necho \"Hello, World\"" >> test.sh
chmod +x test.sh
. test.sh
Saya tidak harus berinteraksi dengan skrip lebih dari satu kali (misalnya mengetikkan kata sandi).
Kriteria
Skrip harus pendek (batas 30 baris), namun dapat dibaca. Kriteria utama adalah ketelitian, fitur dan gaya kreatif, yang lebih baik daripada kesederhanaan.
Pada akhirnya, suara terbanyak menang!
sumber
Jawaban:
Skrip panik harus dikirim ke mesin jarak jauh (Mac Pro) menggunakan scp, dan kemudian jalankan (tidak perlu sudo atau input apa pun):
Ini skripnya: (ini mengasumsikan bahwa Anda adalah John Smith)
Untuk efisiensi maksimum, Anda harus menjalankan ini pada setiap mesin di kamar untuk memastikan bahwa semua orang akan melihat masalah dan menghentikannya.
sumber