स्थिति
मान लीजिए कि मैं अपने कार्य केंद्र पर "Shady सैम" व्यवस्थापक को मेरे मैक प्रो पर एक महत्वपूर्ण प्रशासनिक कार्य करने के लिए उन्हें एक अस्थायी रूट लॉगिन पासवर्ड देकर अनुमति देता हूं। (मान लें कि वे भरोसेमंद थे , शायद मेरी कंपनी के लिए एक सिस्टम एडमिन हैं।)
एक दूरस्थ स्थान (जैसे घर) से, मैं सैम की गतिविधियों का निरीक्षण करने के लिए अपने मैकबुक प्रो लैपटॉप का उपयोग करता हूं और यह सीखता हूं कि रिमोट डेस्कटॉप (वीएनसी) के माध्यम से स्वयं कार्य कैसे करें।
चेतावनी के बिना, Shady Sam कुछ नशा करता है! शायद मैं उसे अपनी हार्ड ड्राइव से डेटा डिलीट करने या प्रतिबंधित फ़ोल्डरों में चुभने आदि की कोशिश कर रहा हूं, जो भी हो, नृशंस तरीके से काम करने के लिए, मैं शैडी सैम को तुरंत लॉक करना चाहता हूं, और अपने दूरस्थ स्थान से यथासंभव कंप्यूटर को सुरक्षित करना चाहता हूं।
चूंकि हम माउस और कीबोर्ड साझा करते हैं, इसलिए मैं दूरस्थ डेस्कटॉप से मज़बूती से कोई कार्रवाई नहीं कर सकता (इसके अलावा, वे कनेक्शन बंद कर सकते हैं)। मुझे एक स्क्रिप्ट लिखनी होगी और इसे दूर से चलाना होगा।
चुनौती
क्या सबसे अच्छा स्क्रिप्ट (जैसे panicScript.sh
या panicScript.py
) मैं दूर से चलाने के लिए छायादार सैम अपने नृशंस कर्म प्रदर्शन से रोक सकता है और उसे फिर से प्रयास करने से रोक सकता है?
मैं अपने आप को निम्नलिखित तरीके से चलाने की कल्पना करता हूं:
scp panicScript.sh remoteMachine:~/panicScript.sh
ssh remoteMachine . ~/panicScript.sh
संभावित विशेषताएं:
अन्य विचारों को स्पष्ट रूप से प्रोत्साहित किया जाता है!
- RemoteMachine पर किसी भी / सभी खातों के पासवर्ड बदलें
- कीबोर्ड या माउस को अक्षम करें
- मॉनिटर को अक्षम करें
- मशीन को रिबूट करें
मान्यताओं
छायादार सैम किसी भी तरह से मैक प्रो को नुकसान नहीं पहुंचाएगा या इसके किसी भी घटक को हटा देगा (जैसे शारीरिक रूप से हार्ड ड्राइव या वायर्ड नेटवर्क कनेक्शन को हटा दें), लेकिन वह जल्द से जल्द लॉगइन करने और अपने काम को जल्द से जल्द जारी रखने का प्रयास करेगा । सैम के पास (अन्यथा) कंप्यूटर पर अप्रतिबंधित भौतिक पहुँच और रूट लॉगिन पासवर्ड है।
मान लें कि मैक प्रो में एक मॉनिटर, कीबोर्ड, माउस, बाहरी हार्ड ड्राइव और इंटरनेट के लिए एक ईथरनेट कनेक्शन है। मान लें कि यह एक सामान्य क्षेत्र में नेटवर्क प्रिंटर पर प्रिंट कर सकता है। मज़े के लिए, मान लीजिए कि मेरे पास कई सहकर्मियों के कामकाज पर एक मानक उपयोगकर्ता खाता है, जो मेरे लिए समान हैं (इसलिए मैं उनके माध्यम से अपनी मशीनों से जुड़ सकता हूं ssh
)।
मान लें कि एक दर्जन ओपन-एयर क्यूबिकल्स एक साथ क्लस्टर किए गए हैं ताकि सहकर्मी खड़े हो सकें और एक-दूसरे से बात कर सकें। हालाँकि, मेरे सहकर्मियों को आमतौर पर यह संदेह नहीं होगा कि छाया सैम कुछ गलत तरीके से कर रहा है यदि वे उसे मेरे कंप्यूटर पर देखते हैं क्योंकि उसने अतीत में उनमें से कई की मदद की है और अपने कंप्यूटरों में काम नहीं करते हैं।
प्रतिबन्ध
पैनिक स्क्रिप्ट शुरू में मेरे लैपटॉप पर घर पर होती है। आप scp
इसे मेरी मशीन पर ले जा सकते हैं और इसे वहां चला सकते हैं, या इसे सीधे अपने लैपटॉप से घर पर चला सकते हैं। (अपनी प्रतिक्रिया में निर्दिष्ट करें!)
स्क्रिप्ट द्वारा की गई सभी क्रियाएं मेरे दूरस्थ स्थान से गैर-हानिकारक और / या प्रतिवर्ती होनी चाहिए ताकि मैं अपने दूरस्थ स्थान से बाद के बिंदु पर पहुंच प्राप्त कर सकूं और एक मैक प्रो पर मानक विशेषताएं / कमांड होनी चाहिए।
जब तक वे मशीन के साथ मानक आते हैं, स्क्रिप्ट अन्य स्क्रिप्ट / प्रोग्राम को कॉल कर सकती है। कमांड-लाइन स्क्रिप्टिंग टूल (जैसे awk
) ठीक हैं जब तक कि उनके कमांड मुख्य स्क्रिप्ट (जैसे history | awk '{print $2}'
) में समाहित हैं । यह उन स्क्रिप्टिंग भाषाओं को सीमित करता है जिनका उपयोग किया जा सकता है।
आपके द्वारा लिखी गई कस्टम स्क्रिप्ट या प्रोग्राम को कॉल करना (जैसे . ~/myOtherScriptOfKungFoo.sh
) ठीक नहीं है, जब तक कि आप इसे अपनी स्क्रिप्ट के भीतर से उत्पन्न नहीं करते हैं और उत्पन्न स्क्रिप्ट 32 वर्ष से कम आयु की है:
echo -e "#"'!'"/bin/bash\necho \"Hello, World\"" >> test.sh
chmod +x test.sh
. test.sh
मुझे एक से अधिक बार स्क्रिप्ट के साथ बातचीत नहीं करनी चाहिए (जैसे पासवर्ड टाइप करना)।
मानदंड
स्क्रिप्ट छोटी होनी चाहिए (30 लाइनों की टोपी), फिर भी पठनीय। प्राथमिक मानदंड संपूर्णता, रचनात्मक विशेषताएं और शैली है, जो सादगी से बेहतर है।
अंत में, सबसे अधिक वोट जीतता है!