जैसा कि आप जिस स्कूल में जा रहे हैं, उसने स्क्रिप्ट प्रकाशित की है, आपकी चिंताओं को आवाज़ देने का सबसे अच्छा स्थान आपके प्रशिक्षकों के साथ है।
कहा कि हम आपको लाइन के आधार पर कोड को समझने में मदद कर सकते हैं। सभी कोड का विश्लेषण करना यहां किसी के लिए भी अव्यावहारिक है ।
आपके पास वास्तव में कुल 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
(फ़ाइल प्रबंधक) निर्देशिकाओं और स्थापित फाइलों का निरीक्षण करने के लिए। बहुत जल्दी आपको पता चलता है कि फ्रांस में छात्रों के समूह द्वारा लिखी गई बैश लिपियों का एक संग्रह है।
स्क्रिप्ट का उद्देश्य अनुचित कार्यों और मेमोरी लीक के लिए सी कार्यक्रमों को संकलित और परीक्षण करना है।
man
इसमें निहित आदेशों पर पृष्ठों को पढ़ सकते हैं ।