สถานการณ์
สมมติว่าฉันอนุญาตให้ผู้ดูแลระบบ "Shady Sam" เข้าถึงเวิร์กสเตชันของฉันเพื่อทำงานด้านการดูแลระบบที่สำคัญใน Mac Pro ของฉันโดยให้รหัสผ่านการเข้าสู่ระบบรากชั่วคราวแก่พวกเขา (สมมติว่าพวกเขามีความน่าเชื่อถืออาจจะเป็นระบบผู้ดูแลระบบสำหรับ บริษัท ของฉัน.)
จากสถานที่ห่างไกล (เช่นบ้าน) ฉันใช้แล็ปท็อป MacBook Pro เพื่อสังเกตกิจกรรมของ Sam และเรียนรู้วิธีทำงานด้วยตนเองผ่าน Remote Desktop (VNC)
โดยไม่มีการเตือน Shady Sam ทำอะไรที่ขี้ขลาด! บางทีฉันอาจเห็นว่าเขากำลังพยายามลบข้อมูลออกจากฮาร์ดไดรฟ์ของฉันหรือแอบเข้าไปในโฟลเดอร์ที่ถูก จำกัด ฯลฯ ไม่ว่าจะเป็นการกระทำที่ขี้ขลาดฉันต้องการล็อค Shady Sam ออกทันทีและรักษาความปลอดภัยคอมพิวเตอร์ให้ดีที่สุดเท่าที่จะทำได้
เนื่องจากเราแชร์เมาส์และคีย์บอร์ดฉันจึงไม่สามารถทำการกระทำที่เชื่อถือได้จากภายในเดสก์ท็อประยะไกล (นอกจากนี้พวกเขาสามารถปิดการเชื่อมต่อได้) ฉันต้องเขียนสคริปต์และเรียกใช้จากระยะไกล
ความท้าทาย
อะไรคือสคริปต์ที่ดีที่สุด (เช่นpanicScript.sh
หรือpanicScript.py
) ฉันสามารถเรียกใช้จากระยะไกลเพื่อหยุด Shady Sam จากการกระทำที่ขี้ขลาดตาขาวของเขาและป้องกันไม่ให้เขาลองอีกครั้ง?
ฉันนึกภาพตัวเองวิ่งตามวิธีต่อไปนี้:
scp panicScript.sh remoteMachine:~/panicScript.sh
ssh remoteMachine . ~/panicScript.sh
คุณสมบัติที่เป็นไปได้:
ความคิดอื่น ๆ ได้รับการสนับสนุนอย่างชัดแจ้ง!
- เปลี่ยนรหัสผ่านของบัญชีใด ๆ / ทั้งหมดใน remoteMachine
- ปิดการใช้งานแป้นพิมพ์หรือเมาส์
- ปิดการใช้งานจอภาพ
- รีบูทเครื่อง
สมมติฐาน
Shady Sam จะไม่สร้างความเสียหายให้กับ Mac Pro แต่อย่างใดหรือลบส่วนประกอบใด ๆ ของมันออก (เช่นการถอดฮาร์ดไดรฟ์หรือการเชื่อมต่อเครือข่ายแบบใช้สาย) แต่เขาจะพยายามลงชื่อเข้าใช้อีกครั้ง แซมมีการเข้าถึงทางกายภาพที่ไม่ จำกัด ของคอมพิวเตอร์และรหัสผ่านเข้าสู่ระบบด้วย
สมมติว่า Mac Pro มีจอภาพแป้นพิมพ์เมาส์ฮาร์ดไดรฟ์ภายนอกและการเชื่อมต่ออีเธอร์เน็ตสำหรับอินเทอร์เน็ต สมมติว่ามันสามารถพิมพ์ไปยังเครื่องพิมพ์เครือข่ายในพื้นที่ส่วนกลาง เพื่อความสนุกลองสมมติว่าฉันมีบัญชีผู้ใช้มาตรฐานในเวิร์คสเตชั่ของเพื่อนร่วมงานหลายคนซึ่งเหมือนกับของฉัน (ดังนั้นฉันจึงสามารถเชื่อมต่อกับเครื่องของพวกเขาผ่านทางssh
)
สมมติว่ามีห้องเก็บของแบบเปิดโล่งรวมกันเป็นโหลเพื่อให้ผู้ร่วมงานสามารถยืนขึ้นและพูดคุยกันได้ อย่างไรก็ตามผู้ร่วมงานของฉันโดยทั่วไปจะไม่สงสัยว่า Shady Sam กำลังทำสิ่งที่ขี้ขลาดหากพวกเขาเห็นเขาที่คอมพิวเตอร์ของฉันเพราะเขาได้ช่วยพวกเขาหลายคนในอดีตและไม่ได้ทำสิ่งที่ขี้ขลาดกับคอมพิวเตอร์ของพวกเขา
ข้อ จำกัด
สคริปต์ความตื่นตระหนกเริ่มต้นที่แล็ปท็อปของฉันที่บ้าน คุณสามารถ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 บรรทัด) แต่สามารถอ่านได้ เกณฑ์หลักคือความละเอียดถี่ถ้วนคุณสมบัติและสไตล์ที่สร้างสรรค์ซึ่งดีกว่าความเรียบง่าย
ในที่สุดการโหวตมากที่สุดชนะ!