Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
test-your-sysadmin-skills — लिनक्स सिसएडमिन परीक्षण प्रश्नों और उत्तरों का एक संग्रह। इन प्रश्नोत्तरों के साथ विभिन्न क्षेत्रों में अपने ज्ञान और कौशल का परीक्षण करें। | Kitploit
उपकरण/GitHubGitHub/trimstray/test-your-sysadmin-skills
लर्निंग और शिक्षाचयनित संसाधनलर्निंग पाथ और कोर्स
GitHubtrimstray/test-your-sysadmin-skills

test-your-sysadmin-skills

लिनक्स सिसएडमिन परीक्षण प्रश्नों और उत्तरों का एक संग्रह। इन प्रश्नोत्तरों के साथ विभिन्न क्षेत्रों में अपने ज्ञान और कौशल का परीक्षण करें।

रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
11.7k1.7k81 साल पहलेKitploit द्वारा समीक्षित

Master


:star:

"एक महान एडमिन को सब कुछ जानने की ज़रूरत नहीं है, लेकिन उन्हें असंभव प्रोजेक्ट के लिए अद्भुत समाधान देने में सक्षम होना चाहिए।" - cwheeler33 (ServerFault)

:star:

"मेरा कौशल चीजों को काम करने में है, अरबों तथ्यों को जानने में नहीं। [...] अगर मुझे किसी सिस्टम को ठीक करना है, तो मैं समस्या की पहचान करूँगा, लॉग जांचूँगा और एरर देखूँगा। अगर मुझे कोई समाधान लागू करना है, तो मैं सही समाधान पर शोध करूँगा, उसे लागू और दस्तावेज़ित करूँगा, बाद में केवल सामान्य समझ रहूंगा कि यह कैसे काम करता है जब तक कि मैं इसके साथ बार-बार इंटरैक्ट न करूँ... यही कारण है कि इसे दस्तावेज़ित किया गया है।" - Sparcrypt (Reddit)


Pull Requests MIT License




ℹ️  इस प्रोजेक्ट में 284 परीक्षण प्रश्न और उत्तर शामिल हैं जिनका उपयोग आपके ज्ञान का परीक्षण करने या Linux (*nix) System Administrator जैसे पद के लिए साक्षात्कार/परीक्षा के दौरान किया जा सकता है।

✔️  उत्तर केवल उदाहरण हैं और पूरे विषय को समाप्त नहीं करते हैं। उनमें से अधिकांश में गहरी समझ के लिए उपयोगी संसाधन शामिल हैं।

⚠️  *** से चिह्नित प्रश्नों का अभी तक उत्तर नहीं है या उत्तर अधूरा है - इन्हें जोड़ने के लिए pull request बनाएँ!

🚥  अगर आपको कुछ ऐसा लगता है जो समझ में नहीं आता, या कुछ सही नहीं लगता, तो कृपया pull request बनाएँ और अपने बदलावों या टिप्पणियों के बारे में वैध और अच्छी तरह से समझाए गए स्पष्टीकरण जोड़ें।

📚  अपने ज्ञान/कौशल को बेहतर बनाने के लिए कृपया devops-interview-questions देखें। यह वास्तव में दिलचस्प लगता है।


» All suggestions are welcome «


विषय सूची


परिचय

💠 सरल प्रश्न

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

सामान्य ज्ञान

💠 जूनियर Sysadmin

सिस्टम प्रश्न (37)
Linux वितरणों के कुछ उदाहरण दें। आपका पसंदीदा वितरण कौन सा है और क्यों?
- Red Hat Enterprise Linux - Fedora - CentOS - Debian - Ubuntu - Mint - SUSE Linux Enterprise Server (SLES) - SUSE Linux Enterprise Desktop (SLED) - Slackware - Arch - Kali - Backbox

मेरा पसंदीदा Linux वितरण:

  • Arch Linux, जो एक अच्छा न्यूनतम आधार सिस्टम प्रदान करता है जिस पर कोई कस्टम ऑपरेटिंग सिस्टम बना सकता है। इसकी सुंदरता यह भी है कि इसमें Arch User Repository (AUR) है, जो इसके आधिकारिक बाइनरी रिपॉजिटरी के साथ मिलकर शायद इसे किसी भी वितरण का सबसे बड़ा रिपॉजिटरी बनाता है। इसकी पैकेजिंग प्रक्रिया भी बहुत सरल है, जिसका मतलब है कि अगर कोई पैकेज इसके आधिकारिक रिपॉजिटरी या AUR में नहीं है, तो इसे अपने लिए बनाना आसान होना चाहिए।
  • Linux Mint, जो Ubuntu LTS रिलीज़ पर भी बनाया गया है, लेकिन इसमें कुछ अलग डेस्कटॉप वातावरणों वाले संस्करण शामिल हैं, जिनमें Cinnamon, MATE और Xfce शामिल हैं। Mint काफी पॉलिश है और इसकी सौंदर्यशास्त्र काफी आकर्षक हैं, मुझे विशेष रूप से इसका नया आइकन थीम पसंद है, हालांकि मुझे इसका GTK+ थीम बहुत नीरस लगता है। मुझे इसके नवीनतम रिलीज़ Mint 19 में एक बग भी मिला है, जो काफी कष्टप्रद हो रहा है क्योंकि मैंने इसके बारे में दो सप्ताह पहले उनके फ़ोरम पर पूछा था और अब तक कोई जवाब नहीं मिला है और यह एक ऐसा बग है जो उस पर मेरा जीवन कठिन बना रहा है।
  • Kali Linux, एक Debian-आधारित Linux वितरण है जो उन्नत पेनिट्रेशन टेस्टिंग और सुरक्षा ऑडिटिंग के लिए लक्षित है। Kali में कई सौ उपकरण हैं जो विभिन्न सूचना सुरक्षा कार्यों, जैसे पेनिट्रेशन टेस्टिंग, सुरक्षा अनुसंधान, कंप्यूटर फोरेंसिक और रिवर्स इंजीनियरिंग के लिए तैयार हैं।

उपयोगी संसाधन:

  • List of Linux distributions
  • What is your favorite Linux distro and why?
Unix, Linux, BSD और GNU के बीच क्या अंतर हैं?

GNU वास्तव में एक OS नहीं है। यह स्वतंत्र सॉफ़्टवेयर को नियंत्रित करने वाले नियमों या दर्शन का एक सेट है, जिसने साथ ही एक OS बनाने की कोशिश करते हुए कई टूल्स को जन्म दिया। इसलिए GNU टूल्स मूल रूप से उन टूल्स के ओपन संस्करण हैं जो पहले से मौजूद थे, लेकिन ओपन सॉफ़्टवेयर के सिद्धांतों के अनुरूप फिर से लागू किए गए। GNU/Linux उन टूल्स और Linux कर्नेल का एक मिश्रण है जो एक पूर्ण OS बनाता है, लेकिन अन्य GNU भी हैं, जैसे GNU/Hurd।

Unix और BSD POSIX के "पुराने" कार्यान्वयन हैं जो विभिन्न स्तरों पर "बंद स्रोत" हैं। Unix आमतौर पर पूरी तरह से बंद स्रोत है, लेकिन Unix की उतनी ही किस्में हैं जितनी Linux (यदि अधिक नहीं)। BSD को आमतौर पर "ओपन" नहीं माना जाता था, लेकिन इसे अपनी रिलीज़ के समय बहुत खुला माना जाता था। इसके लाइसेंसिंग ने उस समय के अधिक "ओपन" लाइसेंसों की तुलना में बहुत कम प्रतिबंधों के साथ व्यावसायिक उपयोग की अनुमति दी।

Linux इनमें से सबसे नया है। कड़ाई से बोलते हुए, यह "सिर्फ एक कर्नेल" है; हालांकि, सामान्य तौर पर, जब GNU टूल्स और कई अन्य कोर घटकों के साथ जोड़ा जाता है तो इसे एक पूर्ण OS माना जाता है।

इनके बीच मुख्य शासन अंतर उनके आदर्श हैं। Unix, Linux और BSD के अलग-अलग आदर्श हैं जिन्हें वे लागू करते हैं। वे सभी POSIX हैं, और सभी मूल रूप से विनिमेय हैं। वे कुछ समान समस्याओं को अलग-अलग तरीकों से हल करते हैं। इसलिए आदर्शों और वे POSIX मानकों को कैसे लागू करना चुनते हैं, इसके अलावा बहुत कम अंतर है।

अधिक जानकारी के लिए मैं GNU, OSS, Linux, BSD और UNIX के निर्माण पर एक संक्षिप्त लेख पढ़ने का सुझाव देता हूँ। वे अपने व्यक्तिगत विचारों की ओर झुके होंगे, लेकिन उन लेखों से आपको अंतरों की बेहतर समझ मिलनी चाहिए।

उपयोगी संसाधन:

  • What is the difference between Unix, Linux, BSD and GNU? (original)
  • The Great Debate: Is it Linux or GNU/Linux?
CLI क्या है? मुझे अपने पसंदीदा CLI टूल्स, टिप्स और हैक्स के बारे में बताएं।

CLI Command Line Interface या Command Language Interpreter का संक्षिप्त रूप है। कमांड लाइन आपके सिस्टम/कंप्यूटर को नियंत्रित करने के सबसे शक्तिशाली तरीकों में से एक है।

यूनिक्स जैसी प्रणालियों में, CLI वह इंटरफ़ेस है जिसके द्वारा उपयोगकर्ता सिस्टम को निष्पादित करने के लिए कमांड टाइप कर सकता है। CLI बहुत शक्तिशाली है, लेकिन त्रुटि-सहनशील नहीं है।

CLI आपको अपने सिस्टम के आंतरिक भागों और कोड के साथ अधिक सूक्ष्म तरीके से हेरफेर करने की अनुमति देता है। यह GUI की तुलना में अधिक लचीलापन और नियंत्रण प्रदान करता है, चाहे कोई भी OS उपयोग किया जाए। कई प्रोग्राम जिन्हें आप अपने सॉफ़्टवेयर में उपयोग करना चाहते हैं, जो कहते हैं Github पर होस्ट किए गए हैं, उन्हें चलाने के लिए CLI पर कुछ कमांड चलाने की भी आवश्यकता होती है।

मेरे पसंदीदा टूल्स

  • screen - मुफ़्त टर्मिनल मल्टीप्लेक्सर, मैं एक सत्र शुरू कर सकता हूँ और मेरे टर्मिनल सेव हो जाएंगे भले ही आपका कनेक्शन टूट जाए, ताकि आप बाद में या घर से फिर से शुरू कर सकें
  • ssh - सीखने के लिए सबसे मूल्यवान समग्र कमांड, मैं इसका उपयोग कुछ अद्भुत काम करने के लिए कर सकता हूँ:
    • sshfs के साथ इंटरनेट पर एक फ़ाइल सिस्टम माउंट करना
    • कमांड फ़ॉरवर्ड करना: एक rsync सर्वर के खिलाफ चलता है बिना rsync डेमॉन के, ssh के माध्यम से स्वयं एक शुरू करके
    • बैच फ़ाइलों में चलाना: मैं रिमोट कमांड से आउटपुट को रीडायरेक्ट कर सकता हूँ और इसे स्थानीय बैच फ़ाइल के भीतर उपयोग कर सकता हूँ
  • vi/vim - सबसे लोकप्रिय और शक्तिशाली टेक्स्ट एडिटर है, यह सार्वभौमिक है, यह बहुत तेज़ काम करता है, बड़ी फ़ाइलों पर भी
  • bash-completion - शेल के लिए कई पूर्वनिर्धारित पूर्णता नियम शामिल हैं
आपका पसंदीदा शेल कौन सा है और क्यों?

BASH मेरा पसंदीदा है। यह वास्तव में एक प्राथमिकता की तरह है, जहाँ मुझे इसकी सिंटैक्स पसंद है और यह मेरे लिए "क्लिक" करता है। इनपुट/आउटपुट रीडायरेक्शन सिंटैक्स (>>, << 2>&1, 2>, 1>, आदि) C++ के समान है जो इसे पहचानने में मेरे लिए आसान बनाता है।

मुझे ZSH शेल भी पसंद है, क्योंकि यह BASH की तुलना में अधिक अनुकूलन योग्य है। इसमें Oh-My-Zsh फ्रेमवर्क, शक्तिशाली संदर्भ-आधारित टैब पूर्णता, स्टेरॉयड पर पैटर्न मैचिंग/ग्लोबिंग, लोड करने योग्य मॉड्यूल और बहुत कुछ है।

उपयोगी संसाधन:

  • Comparison of command shells
आप कमांड लाइन पर सहायता कैसे प्राप्त करते हैं? ***
  • man [commandname] का उपयोग किसी कमांड का विवरण देखने के लिए किया जा सकता है (उदा.: man less, man cat)

  • -h या --help कुछ प्रोग्राम इस पैरामीटर को पास करने पर निर्देश प्रिंट करना लागू करेंगे (उदा.: python -h और python --help)

लॉगिन के बाद एक *nix सर्वर पर आपके पहले 5 कमांड।
  • w - सर्वर अपटाइम के साथ बहुत सारी बढ़िया जानकारी
  • top - आप सभी चल रही प्रक्रियाओं को देख सकते हैं, फिर उन्हें CPU, मेमोरी उपयोग और अधिक के अनुसार क्रमबद्ध कर सकते हैं
  • netstat - यह जानने के लिए कि आपका सर्वर किस पोर्ट और IP पर सुन रहा है और कौन सी प्रक्रियाएँ उनका उपयोग कर रही हैं
  • df - फ़ाइल सिस्टम द्वारा उपयोग की जा रही उपलब्ध डिस्क स्थान की रिपोर्ट करता है
  • history - आपको बताता है कि आप वर्तमान में जिस उपयोगकर्ता से जुड़े हैं, उसके द्वारा पहले क्या चलाया गया था

उपयोगी संसाधन:

  • First 5 Commands When I Connect on a Linux Server (original)
ls -al आउटपुट में फ़ील्ड का क्या मतलब है?

आउटपुट के क्रम में:```bash -rwxrw-r-- 1 root root 2048 Jan 13 07:11 db.dump

root@kitploit:~
- फ़ाइल अनुमतियाँ,
- लिंकों की संख्या,
- स्वामी का नाम,
- स्वामी समूह,
- फ़ाइल आकार,
- अंतिम संशोधन का समय,
- फ़ाइल/निर्देशिका नाम

फ़ाइल अनुमतियाँ इस प्रकार प्रदर्शित की जाती हैं:

- पहला अक्षर `-` या `l` या `d` होता है, `d` एक निर्देशिका को इंगित करता है, एक `-` एक फ़ाइल को दर्शाता है, `l` एक सिमलिंक (या सॉफ्ट लिंक) है - एक विशेष प्रकार की फ़ाइल
- तीन सेट वर्ण, तीन बार, जो स्वामी, समूह और अन्य के लिए अनुमतियाँ इंगित करते हैं:
  - `r` = पढ़ने योग्य
  - `w` = लिखने योग्य
  - `x` = निष्पादन योग्य

आपके उदाहरण `-rwxrw-r--` में, इसका मतलब है कि प्रदर्शित पंक्ति है:

- एक नियमित फ़ाइल (`-` के रूप में प्रदर्शित)
- स्वामी द्वारा पढ़ने, लिखने और निष्पादन योग्य (`rwx`)
- समूह द्वारा पढ़ने, लिखने योग्य, लेकिन निष्पादन योग्य नहीं (`rw-`)
- अन्य द्वारा पढ़ने योग्य, लेकिन लिखने या निष्पादन योग्य नहीं (`r--`)

उपयोगी संसाधन:

- [ls -al आउटपुट में फ़ील्ड का क्या अर्थ है? (मूल)](https://unix.stackexchange.com/questions/103114/what-do-the-fields-in-ls-al-output-mean)

</details>

<details>
<summary><b>आप लॉग-इन उपयोगकर्ताओं की सूची कैसे प्राप्त करते हैं?</b></summary><br>

लॉग-इन उपयोगकर्ताओं का सारांश प्राप्त करने के लिए, जिसमें उपयोगकर्ता नाम का प्रत्येक लॉगिन, जिन टर्मिनलों से उपयोगकर्ता जुड़े हैं, वे दिनांक/समय जब वे लॉग इन हुए, और संभवतः वह कंप्यूटर जिससे वे कनेक्शन बना रहे हैं, शामिल हो, दर्ज करें:```bash
# It uses /var/run/utmp and /var/log/wtmp files to get the details.
who
पृष्ठभूमि में चल रही प्रक्रियाओं को निष्पादित करने का क्या लाभ है? आप ऐसा कैसे कर सकते हैं?

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

आम तौर पर वे एप्लिकेशन जिन्हें निष्पादित होने में बहुत अधिक समय लगता है और जिन्हें उपयोगकर्ता की सहभागिता की आवश्यकता नहीं होती, उन्हें पृष्ठभूमि में भेज दिया जाता है ताकि हम टर्मिनल पर अपना काम जारी रख सकें।

उदाहरण के लिए यदि आप पृष्ठभूमि में कुछ डाउनलोड करना चाहते हैं, तो आप कर सकते हैं:```bash wget https://url-to-download.com/download.tar.gz &

root@kitploit:~
जब आप उपरोक्त कमांड चलाते हैं तो आपको निम्न आउटपुट मिलता है:```bash
[1] 2203

यहाँ 1 कार्य का क्रमांक है और 2203 उस कार्य का PID है।

आप निम्न कमांड का उपयोग करके पृष्ठभूमि में चल रहे कार्यों को देख सकते हैं:```bash jobs

root@kitploit:~
जब आप पृष्ठभूमि में जॉब निष्पादित करते हैं तो यह आपको जॉब का PID देता है, आप निम्नलिखित कमांड का उपयोग करके पृष्ठभूमि में चल रहे जॉब को समाप्त कर सकते हैं:```bash
kill PID

PID को जॉब के PID से बदलें। यदि आपके पास केवल एक जॉब चल रहा है तो आप इसे फोरग्राउंड में ला सकते हैं:```bash fg

root@kitploit:~
यदि आपके पास बैकग्राउंड में कई जॉब चल रहे हैं, तो आप फोरग्राउंड में किसी भी जॉब को ला सकते हैं:```bash
fg %#

# को नौकरी के क्रमांक से बदलें।

उपयोगी संसाधन:

  • मैं पृष्ठभूमि में यूनिक्स प्रक्रिया कैसे चलाऊं?
प्रक्रियाओं को प्रबंधित करने से पहले, आपको उन्हें पहचानने में सक्षम होना चाहिए। आप किन उपकरणों का उपयोग करेंगे? ***

पूरा किया जाना है।

रूट उपयोगकर्ता के रूप में कमांड चलाना। यह अच्छा या बुरा अभ्यास है?

(सब कुछ) रूट के रूप में चलाना बुरा है क्योंकि:

  • मूर्खता: कोई भी चीज़ आपको लापरवाही से गलती करने से नहीं रोकती। यदि आप सिस्टम को किसी भी संभावित हानिकारक तरीके से बदलने का प्रयास करते हैं, तो आपको sudo का उपयोग करना होगा, जो एक विराम (पासवर्ड दर्ज करते समय) सुनिश्चित करता है ताकि आप यह सुनिश्चित कर सकें कि आप गलती करने वाले नहीं हैं।

  • सुरक्षा: यदि आप व्यवस्थापक उपयोगकर्ता का लॉगिन खाता नहीं जानते हैं तो हैक करना कठिन है। रूट का मतलब है कि आपके पास पहले से ही व्यवस्थापक क्रेडेंशियल्स के एक कार्यशील सेट का आधा हिस्सा है।

  • आपको वास्तव में इसकी आवश्यकता नहीं है: यदि आपको रूट के रूप में कई कमांड चलाने की आवश्यकता है, और जब sudo समाप्त हो गया है तो कई बार अपना पासवर्ड दर्ज करने से नाराज़ हैं, तो आपको बस sudo -i करने की आवश्यकता है और अब आप रूट हैं। पाइप का उपयोग करके कुछ कमांड चलाना चाहते हैं? तो sudo sh -c "command1 | command2" का उपयोग करें।

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

उपयोगी संसाधन:

  • रूट के रूप में लॉग इन करना बुरा क्यों है? (मूल)
  • हमेशा रूट रहने में क्या गलत है?
  • आपको एप्लिकेशन को रूट के रूप में चलाने से क्यों बचना चाहिए
मेमोरी स्टैट्स और CPU स्टैट्स कैसे जांचें?

आप दोनों के लिए top/htop का उपयोग करेंगे। free और vmstat कमांड का उपयोग करके हम क्रमशः भौतिक और वर्चुअल मेमोरी आँकड़े प्रदर्शित कर सकते हैं। sar कमांड की मदद से हम CPU उपयोग और अन्य आँकड़े देख सकते हैं (लेकिन अधिकांश सिस्टम में sar स्थापित भी नहीं है)।

उपयोगी संसाधन:

  • मैं लिनक्स CPU उपयोग कैसे पता करूं?
  • 16 लिनक्स सर्वर मॉनिटरिंग कमांड जो आपको वास्तव में जानने की आवश्यकता है
लोड एवरेज क्या है?

लिनक्स लोड एवरेज "सिस्टम लोड एवरेज" हैं जो चल रहे थ्रेड (कार्य) की मांग को एक औसत संख्या के रूप में दिखाते हैं जो चल रहे और प्रतीक्षा कर रहे थ्रेड की संख्या है। यह मांग को मापता है, जो सिस्टम वर्तमान में प्रोसेस कर रहा है उससे अधिक हो सकती है। अधिकांश उपकरण 1, 5 और 15 मिनट के लिए तीन औसत दिखाते हैं।

ये 3 संख्याएँ विभिन्न CPU के लिए संख्याएँ नहीं हैं। ये संख्याएँ एक निश्चित समय अवधि (पिछले 1, 5 और 15 मिनट) के लिए लोड संख्या के माध्य मान हैं।

लोड एवरेज को आमतौर पर "रन कतार की औसत लंबाई" के रूप में वर्णित किया जाता है। इसलिए कुछ CPU-खपत प्रक्रियाएँ या थ्रेड लोड एवरेज को 1 से ऊपर बढ़ा सकते हैं। यदि लोड एवरेज CPU कोर की कुल संख्या से कम है तो कोई समस्या नहीं है। लेकिन अगर यह CPU की संख्या से अधिक हो जाता है, तो इसका मतलब है कि कुछ थ्रेड/प्रक्रियाएँ कतार में रहेंगी, चलने के लिए तैयार, लेकिन मुफ्त CPU की प्रतीक्षा कर रही हैं।

इसका उद्देश्य आपको सिस्टम की स्थिति का एक विचार देना है, जो कई समय अवधियों में औसत है। चूंकि यह औसत है, इसलिए सिस्टम पर भारी लोड डालने के बाद 0 पर वापस जाने में समय लगता है।

कुछ व्याख्याएँ:

  • यदि औसत 0.0 हैं, तो आपका सिस्टम निष्क्रिय है
  • यदि 1 मिनट का औसत 5 या 15 मिनट के औसत से अधिक है, तो लोड बढ़ रहा है
  • यदि 1 मिनट का औसत 5 या 15 मिनट के औसत से कम है, तो लोड घट रहा है
  • यदि वे आपकी CPU गणना से अधिक हैं, तो आपको प्रदर्शन समस्या हो सकती है (यह निर्भर करता है)

उपयोगी संसाधन:

  • लिनक्स लोड एवरेज: रहस्य सुलझाना (मूल)
  • लिनक्स लोड एवरेज - निश्चित सारांश
  • CPU लोड एवरेज कैसे काम करते हैं (और वेबसर्वर प्रदर्शन को ट्रायेज करने के लिए उनका उपयोग करना!)
लिनक्स/यूनिक्स पर मेरा पासवर्ड कहाँ संग्रहीत है?

पासवर्ड सिस्टम पर कहीं भी संग्रहीत नहीं होते हैं। /etc/shadow में जो संग्रहीत है वे पासवर्ड के तथाकथित हैश हैं।

किसी टेक्स्ट का हैश टेक्स्ट (पासवर्ड) पर तथाकथित एकतरफा फ़ंक्शन करके बनाया जाता है, इस प्रकार जाँच करने के लिए एक स्ट्रिंग बनाई जाती है। डिज़ाइन के अनुसार उस प्रक्रिया को उलटना "असंभव" (कम्प्यूटेशनल रूप से अव्यावहारिक) है।

पुराने यूनिक्स वेरिएंट एन्क्रिप्टेड पासवर्ड को /etc/passwd में प्रत्येक खाते के बारे में अन्य जानकारी के साथ संग्रहीत करते थे।

नए वेरिएंट केवल /etc/passwd में प्रासंगिक फ़ील्ड में * रखते हैं और पासवर्ड को संग्रहीत करने के लिए /etc/shadow का उपयोग करते हैं, आंशिक रूप से यह सुनिश्चित करने के लिए कि जब उन्हें केवल अन्य सामग्री की आवश्यकता हो तो किसी को पासवर्ड तक पढ़ने की पहुँच न मिले (shadow आमतौर पर passwd की तुलना में अधिक मजबूती से सुरक्षित होता है)।

अधिक जानकारी के लिए man crypt, man shadow, man passwd देखें।

उपयोगी संसाधन:

  • लिनक्स पर मेरा पासवर्ड कहाँ संग्रहीत है?
फ़ाइलों को छोड़कर सभी निर्देशिकाओं और निर्देशिकाओं को छोड़कर सभी फ़ाइलों की अनुमतियाँ पुनरावर्ती रूप से कैसे बदलें?

सभी निर्देशिकाओं को बदलने के लिए उदाहरण के लिए 755 (drwxr-xr-x):```bash find /opt/data -type d -exec chmod 755 {} ;

root@kitploit:~
सभी फ़ाइलों को बदलने के लिए, उदाहरण के लिए **644** (`-rw-r--r--`):```bash
find /opt/data -type f -exec chmod 644 {} \;

उपयोगी संसाधन:

  • मैं एक फ़ोल्डर और उसके सभी उपफ़ोल्डरों और फ़ाइलों के लिए chmod कैसे सेट करूं? (मूल)
हर कमांड `command not found` के साथ विफल होता है। त्रुटि के स्रोत का पता कैसे लगाएं और इसे हल करें?

ऐसा लगता है कि किसी बिंदु पर डिफ़ॉल्ट PATH पर्यावरण चर को ओवरराइट किया जा रहा है। आपके पास जिस प्रकार की त्रुटियां हैं, वह इंगित करता है कि PATH में उदाहरण के लिए /bin शामिल नहीं है, जहां कमांड (बैश सहित) स्थित हैं।

आपकी bash स्क्रिप्ट या कमांड को डिबग करना शुरू करने का एक तरीका -x विकल्प के साथ एक सबशेल शुरू करना होगा:```bash bash --login -x

root@kitploit:~
यह आपको प्रत्येक कमांड और उसके तर्क दिखाएगा, जो उस शेल को शुरू करने पर निष्पादित होते हैं।

साथ ही `PATH` वेरिएबल मान दिखाना बहुत उपयोगी है:```bash
echo $PATH

यदि आप इसे चलाते हैं:```bash PATH=/bin:/sbin:/usr/bin:/usr/sbin

root@kitploit:~
अधिकांश कमांड काम करने लगेंगे - और फिर आप `~/.bash_profile` को `~/.bashrc` के बजाय संपादित कर सकते हैं और वहां `PATH` को रीसेट करने वाली किसी भी चीज़ को ठीक कर सकते हैं। **रूट** और अन्य उपयोगकर्ताओं के लिए डिफ़ॉल्ट `PATH` वेरिएबल मान `/etc/profile` फ़ाइल में हैं।

उपयोगी संसाधन:

- [PATH में पथ को सही तरीके से कैसे जोड़ें?](https://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path)

</details>

<details>
<summary><b>आप `CTRL + C` टाइप कर रहे हैं लेकिन आपकी स्क्रिप्ट अभी भी चल रही है। इसे कैसे रोकें? </b></summary><br>

अधिकांश मामलों में, आप `CTRL + C` कीबोर्ड संयोजन का उपयोग करके चल रही स्क्रिप्ट को रोक सकते हैं। यह स्क्रिप्ट को एक इंटरप्ट सिग्नल (SIGINT) भेजता है, जो इसके निष्पादन को समाप्त कर देता है। यदि यह काम नहीं करता है और स्क्रिप्ट अभी भी चल रही है, तो आप `CTRL + \` संयोजन का उपयोग करने का प्रयास कर सकते हैं, जो स्क्रिप्ट को एक क्विट सिग्नल (SIGQUIT) भेजता है, जो इसे तुरंत समाप्त कर सकता है।

वैकल्पिक रूप से, यदि आप टर्मिनल या कमांड लाइन इंटरफ़ेस का उपयोग कर रहे हैं, तो आप स्क्रिप्ट प्रक्रिया को सिग्नल भेजने के लिए `kill` कमांड का उपयोग करने का प्रयास कर सकते हैं। आप `ps` या `top` कमांड का उपयोग करके स्क्रिप्ट की प्रोसेस आईडी (PID) पा सकते हैं, और फिर स्क्रिप्ट को रोकने के लिए PID के साथ `kill` का उपयोग करें।

कुछ मामलों में, आपको स्क्रिप्ट को रोकने के लिए `kill -9` कमांड का उपयोग करने की आवश्यकता हो सकती है, क्योंकि यदि स्क्रिप्ट अटक गई है या प्रतिक्रिया नहीं दे रही है तो सामान्य kill कमांड काम नहीं कर सकता है। `-9` विकल्प SIGKILL सिग्नल भेजता है, जो प्रक्रिया को तुरंत रोकने के लिए मजबूर करता है।
</details>

<details>
<summary><b>`grep` कमांड क्या है? एक ही लाइन में कई स्ट्रिंग्स का मिलान कैसे करें?</b></summary><br>

`grep` उपयोगिताएँ Unix टूल का एक परिवार हैं, जिनमें `egrep` और `fgrep` शामिल हैं।

`grep` फ़ाइल पैटर्न खोजता है। यदि आप किसी अन्य कमांड के आउटपुट में किसी विशिष्ट पैटर्न की तलाश कर रहे हैं, तो `grep` प्रासंगिक लाइनों को हाइलाइट करता है। लॉग फ़ाइलों, विशिष्ट प्रक्रियाओं और अधिक की खोज के लिए इस grep कमांड का उपयोग करें।

एकाधिक स्ट्रिंग्स के मिलान के लिए:```bash
grep -E "string1|string2" filename
एक पंक्ति में एकाधिक शेल कमांड निष्पादित करें।

यदि आप प्रत्येक कमांड को तभी निष्पादित करना चाहते हैं जब पिछला सफल हुआ हो, तो उन्हें && ऑपरेटर का उपयोग करके जोड़ें:```bash cd /my_folder && rm *.jar && svn co path to repo && mvn compile package install

root@kitploit:~
यदि कमांड में से कोई एक विफल हो जाता है, तो उसके बाद के सभी अन्य कमांड निष्पादित नहीं होंगे।

यदि आप सभी कमांड को पिछले वाले के विफल होने या न होने की परवाह किए बिना निष्पादित करना चाहते हैं, तो उन्हें अर्धविराम से अलग करें:```bash
cd /my_folder; rm *.jar; svn co path to repo; mvn compile package install

आपके मामले में, मुझे लगता है कि आप पहली स्थिति चाहते हैं जहाँ अगले कमांड का निष्पादन पिछले कमांड की सफलता पर निर्भर करता है।

आप सभी कमांड को एक स्क्रिप्ट में रख सकते हैं और उसके बजाय उसे निष्पादित कर सकते हैं:```bash #! /bin/sh cd /my_folder
&& rm *.jar
&& svn co path to repo
&& mvn compile package install

root@kitploit:~
उपयोगी संसाधन:

- [एक पंक्ति में कई linux कमांड को एक साथ निष्पादित करें (मूल)](https://stackoverflow.com/questions/13077241/execute-combine-multiple-linux-commands-in-one-line)

</details>

<details>
<summary><b>आप सभी उपयोगकर्ताओं को एक फ़ाइल पर निष्पादन पहुँच देने के लिए <code>chmod</code> को कौन सा प्रतीकात्मक निरूपण पास कर सकते हैं, बिना अन्य अनुमतियों को प्रभावित किए?</b></summary><br>```bash
chmod a+x /path/to/file
  • a - सभी उपयोगकर्ताओं के लिए
  • x - निष्पादन अनुमति के लिए
मैं दो स्थानीय निर्देशिकाओं को कैसे सिंक कर सकता हूं?

एक ही सिस्टम पर dir1 की सामग्री को dir2 में सिंक करने के लिए, टाइप करें:

rsync -a /path/to/dir1/ /path/to/dir2```bash rsync -av --progress --delete dir1/ dir2

root@kitploit:~
- `-a`, `--archive` - संग्रह मोड
- `--delete` - गंतव्य निर्देशिकाओं से अनावश्यक फ़ाइलें हटाएं
- `-v`, `--verbose` - वर्बोज़ मोड (विस्तार बढ़ाएं)
- `--progress` - स्थानांतरण के दौरान प्रगति दिखाएं

उपयोगी संसाधन:

- [मैं दो स्थानीय निर्देशिकाओं को कैसे सिंक कर सकता हूँ? (मूल](https://unix.stackexchange.com/questions/392536/how-can-i-sync-two-local-directories)
- [rsync के साथ फ़ोल्डर्स को सिंक्रोनाइज़ करना](https://www.jveweb.net/en/archives/2010/11/synchronizing-folders-with-rsync.html)

</details>

<details>
<summary><b>कई बुनियादी रखरखाव कार्यों के लिए आपको कॉन्फ़िग फ़ाइलों को संपादित करने की आवश्यकता होती है। आपके द्वारा किए गए परिवर्तनों को पूर्ववत करने के तरीकों की व्याख्या करें।</b></summary><br>

- फ़ाइल को संपादित करने से पहले मैन्युअल रूप से बैकअप लेना (इस तरह ब्रेस विस्तार के साथ: `cp filename{,.orig}`)
- फ़ाइल जहाँ संग्रहीत है उस निर्देशिका संरचना की मैन्युअल प्रतिलिपि (जैसे `cp`, `rsync` या `tar`)
- अपने संपादक में मूल फ़ाइल का बैकअप लें (जैसे अपने संपादक कॉन्फ़िगरेशन फ़ाइल में नियम सेट करें)
- सबसे अच्छा समाधान `git` (या कोई अन्य संस्करण नियंत्रण) का उपयोग करना है ताकि कॉन्फ़िगरेशन फ़ाइलों का ट्रैक रखा जा सके (जैसे `/etc` निर्देशिका के लिए `etckeeper`)

उपयोगी संसाधन:

- [.bak एक्सटेंशन के साथ फ़ाइल का बैकअप लेना](https://unix.stackexchange.com/questions/66376/backup-file-with-bak-before-filename-extension)
- [क्या कॉन्फ़िगरेशन फ़ाइल संस्करण नियंत्रण के लिए git का उपयोग करना एक अच्छा विचार है?](https://superuser.com/questions/1037211/is-it-a-good-idea-to-use-git-for-configuration-file-version-controlling)

</details>

<details>
<summary><b>आपको 20MB से बड़ी सभी फ़ाइलें ढूंढनी हैं। आप यह कैसे करेंगे?</b></summary><br>```bash
find / -type f -size +20M
टूल डाउनलोड करें
अध्याय का प्रकारप्रश्नों की संख्यासंक्षिप्त विवरण
परिचय
🔸 सरल प्रश्न14 प्रश्नआरामदेह, मजेदार और सरल - शुरुआत करने के लिए बढ़िया हैं।
सामान्य ज्ञान
🔸 जूनियर sysadmin65 प्रश्नकाफी सरल और सीधे बुनियादी ज्ञान पर आधारित।
🔸 रेगुलर sysadmin94 प्रश्नप्रश्नों का मध्य स्तर यदि आपके पास अच्छा ज्ञान है।
🔸 सीनियर sysadmin99 प्रश्नकठिन प्रश्न और पहेलियाँ। इसे देखें यदि आप अच्छे बनना चाहते हैं।
गुप्त ज्ञान
🔸 गुरु sysadmin12 प्रश्नवास्तव में गहरे प्रश्न जो गुरु sysadmin को जानने के लिए हैं।

टिप्स और हैक्स

  • CTRL + R से कमांड इतिहास खोजें
  • popd/pushd और अन्य शेल बिल्टइन जो आपको डायरेक्टरी स्टैक में हेरफेर करने की अनुमति देते हैं
  • कीबोर्ड शॉर्टकट संपादित करना जैसे CTRL + U, CTRL + E
  • संयोजन स्वचालित रूप से विस्तारित होंगे:
    • !* - पिछले कमांड के सभी आर्गुमेंट
    • !! - पिछले कमांड का पूरा
    • !ssh - ssh से शुरू होने वाला पिछला कमांड

उपयोगी संसाधन:

  • Command Line Interface Definition
  • What is your single most favorite command-line trick using Bash?
  • What are your favorite command line features or tricks?

विस्तृत जानकारी के लिए, जिसमें username, terminal, स्रोत कंप्यूटर का IP number, लॉगिन शुरू होने का समय, कोई idle time, process CPU cycles, job CPU cycles, और वर्तमान में चल रहे command शामिल हैं, enter:```bash

It uses /var/run/utmp, and their processes /proc.

w

root@kitploit:~
अंतिम लॉग इन किए गए उपयोगकर्ताओं की सूची प्रदर्शित करने के लिए भी महत्वपूर्ण है, दर्ज करें:```bash
# It uses /var/log/wtmp.
last

उपयोगी संसाधन:

  • अपने लिनक्स सिस्टम पर कौन लॉग-इन है, यह पहचानने के 4 तरीके
  • जॉब कंट्रोल कमांड
  • पृष्ठभूमि में एप्लिकेशन चलाने के क्या फायदे हैं?
  • लिनक्स में उपयोगकर्ताओं के पासवर्ड कहाँ स्थित हैं?
  • लिनक्स पासवर्ड और शैडो फ़ाइल फॉर्मेट
  • या```bash grep -e "string1" -e "string2" filename

    root@kitploit:~
    उपयोगी संसाधन:
    
    - [grep क्या है और इसका उपयोग कैसे करें? (मूल)](https://kb.iu.edu/d/afiy)
    
    </details>
    
    <details>
    <summary><b>फ़ाइल सामग्री कमांड को उनके विवरण के साथ समझाएं।</b></summary><br>
    
    - `head`: किसी फ़ाइल की शुरुआत की जाँच करने के लिए।
    - `tail`: फ़ाइल के अंत की जाँच करने के लिए। यह head कमांड का विपरीत है।
    - `cat`: फ़ाइलों को देखने, बनाने, जोड़ने के लिए उपयोग किया जाता है।
    - `more`: टर्मिनल विंडो में टेक्स्ट को पेजर रूप में प्रदर्शित करने के लिए उपयोग किया जाता है।
    - `less`: टेक्स्ट को पिछली दिशा में देखने के लिए उपयोग किया जाता है और एकल पंक्ति आंदोलन प्रदान करता है।
    
    उपयोगी संसाधन:
    
    - [शेल प्रॉम्प्ट से टेक्स्ट फ़ाइलें देखना](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/Step_by_Step_Guide/s1-viewingtext-terminal.html)
    
    </details>
    
    <details>
    <summary><b>SIGHUP, SIGINT, SIGKILL, और SIGTERM POSIX सिग्नल। समझाएं।</b></summary><br>
    
    - **SIGHUP** - किसी प्रक्रिया को तब भेजा जाता है जब उसका नियंत्रण टर्मिनल बंद हो जाता है। मूल रूप से इसे प्रक्रिया को सीरियल लाइन ड्रॉप (हैंगअप) की सूचना देने के लिए डिज़ाइन किया गया था। कई डेमॉन इस सिग्नल को प्राप्त करने पर बाहर निकलने के बजाय अपनी कॉन्फ़िगरेशन फ़ाइलों को पुनः लोड करेंगे और अपनी लॉगफ़ाइलों को फिर से खोलेंगे।
    - **SIGINT** - किसी प्रक्रिया को उसके नियंत्रण टर्मिनल द्वारा तब भेजा जाता है जब उपयोगकर्ता प्रक्रिया को बाधित करना चाहता है। यह सामान्यतः `Ctrl+C` दबाकर शुरू किया जाता है, लेकिन कुछ सिस्टम पर "डिलीट" कैरेक्टर या "ब्रेक" कुंजी का उपयोग किया जा सकता है।
    - **SIGKILL** - किसी प्रक्रिया को तुरंत समाप्त करने (किल) के लिए भेजा जाता है। **SIGTERM** और **SIGINT** के विपरीत, इस सिग्नल को पकड़ा या अनदेखा नहीं किया जा सकता है, और प्राप्त करने वाली प्रक्रिया इस सिग्नल को प्राप्त करने पर कोई सफाई नहीं कर सकती है।
    - **SIGTERM** - किसी प्रक्रिया को उसके समाप्ति का अनुरोध करने के लिए भेजा जाता है। **SIGKILL** सिग्नल के विपरीत, इसे प्रक्रिया द्वारा पकड़ा और व्याख्या या अनदेखा किया जा सकता है। यह प्रक्रिया को संसाधनों को मुक्त करने और यदि उपयुक्त हो तो स्थिति सहेजने की अनुमति देता है। **SIGINT** लगभग **SIGTERM** के समान है।
    
    उपयोगी संसाधन:
    
    - [POSIX सिग्नल](https://dsa.cs.tsinghua.edu.cn/oj/static/unix_signal.html)
    - [यूनिक्स सिग्नल प्रोग्रामिंग का परिचय](http://titania.ctie.monash.edu.au/signals/)
    
    </details>
    
    <details>
    <summary><b>`kill` कमांड क्या करता है?</b></summary><br>
    
    यूनिक्स और यूनिक्स-जैसे ऑपरेटिंग सिस्टम में, `kill` एक कमांड है जिसका उपयोग किसी प्रक्रिया को सिग्नल भेजने के लिए किया जाता है। डिफ़ॉल्ट रूप से, भेजा गया संदेश समाप्ति सिग्नल होता है, जो प्रक्रिया से बाहर निकलने का अनुरोध करता है। लेकिन `kill` कुछ हद तक गलत नाम है; भेजा गया सिग्नल प्रक्रिया को मारने से कोई संबंध नहीं रखता हो सकता है।
    
    उपयोगी संसाधन:
    
    - [लिनक्स में "किल" कमांड में महारत हासिल करना](https://www.maketecheasier.com/kill-command-in-linux/)
    
    </details>
    
    <details>
    <summary><b>`rm` और `rm -rf` में क्या अंतर है?</b></summary><br>
    
    `rm` केवल नामित फ़ाइलों को हटाता है (और निर्देशिकाओं को नहीं)। `-rf` के साथ जैसा कि आप कहते हैं:
    
    - `-r`, `-R`, `--recursive` किसी निर्देशिका की सामग्री को पुनरावर्ती रूप से हटाता है, जिसमें छिपी हुई फ़ाइलें और उपनिर्देशिकाएँ शामिल हैं
    - `-f`, `--force` अस्तित्वहीन फ़ाइलों को अनदेखा करता है, कभी संकेत नहीं देता
    
    उपयोगी संसाधन:
    
    - [`rm -r` और `rm -f` में क्या अंतर है?](https://superuser.com/questions/1126206/what-is-the-difference-between-rm-r-and-rm-f)
    
    </details>
    
    <details>
    <summary><b>मैं `grep` को रिकर्सिवली कैसे उपयोग करूं? कई उदाहरणों पर समझाएं। ***</b></summary>
    
    पूरा किया जाना है।
    
    </details>
    
    <details>
    <summary><b>`archive.tgz` लगभग 30 GB का है। आप इसकी सामग्री कैसे सूचीबद्ध करेंगे और केवल एक फ़ाइल निकालेंगे?</b></summary><br>```bash
    # list of content
    tar tf archive.tgz
    
    # extract file
    tar xf archive.tgz filename
    

    उपयोगी संसाधन:

    • टार या tar.gz फ़ाइल की सामग्री सूचीबद्ध करें
    • tar.gz से विशिष्ट फ़ाइल(फ़ाइलें) कैसे निकालें
  • r - पढ़ने की अनुमति के लिए
  • w - लिखने की अनुमति के लिए
  • उपयोगी संसाधन:

    • chmod का उपयोग करके फ़ाइल अनुमतियाँ कैसे सेट करें
    • 'chmod +x आपका_फ़ाइल_नाम' क्या करता है और मैं इसका उपयोग कैसे करूं?
    How to find files that have been modified on your system in the past 60 minutes?
    " - wait the source ends with that line. But the input shows: "How to find files that have been modified on your system in the past 60 minutes?
    " and then nothing else? Actually the source ends after "
    ". That's fine.

    So translation for that summary: "पिछले 60 मिनट में आपके सिस्टम पर संशोधित फाइलें कैसे खोजें?"

    Now, we need to ensure we preserve all markdown, including the <details> and <summary> tags and <b> tags.

    The output should be raw markdown, no extra markers.

    Let's compile the translation.

    Note: The first line "Useful resources:" appears twice in the chunk. That's fine.

    Also note: The chunk starts with "Useful resources:" after the

    ? Actually the source starts with a blank line? The input provided starts with "Useful resources:" directly. Probably it's after some previous content. So we start with that.

    Final translation.उपयोगी संसाधन:

    • मैं x बाइट्स से बड़ी/छोटी फाइलें कैसे खोज सकता हूँ?
    हम sudo su - का उपयोग क्यों करते हैं और केवल sudo su का नहीं?

    sudo अधिकांश आधुनिक Linux वितरणों में होता है जहाँ (लेकिन हमेशा नहीं) रूट उपयोगकर्ता अक्षम होता है और उसका कोई पासवर्ड सेट नहीं होता। इसलिए आप su के साथ रूट उपयोगकर्ता पर स्विच नहीं कर सकते (आप कोशिश कर सकते हैं)। आपको रूट विशेषाधिकारों के साथ sudo कॉल करना होता है: sudo su।

    su केवल उपयोगकर्ता को स्विच करता है, एक सामान्य शेल प्रदान करता है जिसका वातावरण पुराने उपयोगकर्ता के समान ही होता है।

    su - उपयोगकर्ता को स्विच करने के बाद एक लॉगिन शेल लॉन्च करता है। लॉगिन शेल अधिकांश पर्यावरण चर रीसेट करता है, एक साफ आधार प्रदान करता है।

    उपयोगी संसाधन:

    • su vs sudo -s vs sudo -i vs sudo bash
    • हम su - का उपयोग क्यों करते हैं और केवल su का नहीं? (मूल)
    पिछले 60 मिनट में आपके सिस्टम पर संशोधित फ़ाइलें कैसे खोजें?
    ```bash find / -mmin -60 -type f ``` उपयोगी संसाधन:
    • एक निर्देशिका में पिछले 30 दिनों में संशोधित सभी फ़ाइलें प्राप्त करें (मूल)
    पुरानी लॉग फ़ाइलों को रखने के मुख्य कारण क्या हैं?

    सिस्टम पर समस्याओं की जांच करने के लिए ये आवश्यक हैं। लॉग प्रबंधन आईटी सुरक्षा के लिए बिल्कुल महत्वपूर्ण है।

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

    यह आपके सर्वर का रिकॉर्ड है कि कौन आपकी साइट पर आया, कब, और उन्होंने वास्तव में क्या देखा। यह अविश्वसनीय रूप से विस्तृत है, जो दर्शाता है:

    • लोग कहाँ से आए
    • वे किस ब्राउज़र का उपयोग कर रहे थे
    • उन्होंने वास्तव में कौन सी फ़ाइलें देखीं
    • प्रत्येक फ़ाइल को लोड होने में कितना समय लगा
    • और कई अन्य तकनीकी चीज़ें

    विचार करने योग्य कारक:

    • प्रतिधारण या विनाश के लिए कानूनी आवश्यकताएं
    • प्रतिधारण और विनाश के लिए कंपनी नीतियां
    • लॉग कितने समय तक उपयोगी होते हैं
    • आप लॉग से किन प्रश्नों के उत्तर प्राप्त करने की उम्मीद कर रहे हैं
    • वे कितना स्थान लेते हैं

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

    उपयोगी संसाधन:

    • आप लॉग फ़ाइलों को कितने समय तक रखते हैं?
    इंक्रीमेंटल बैकअप क्या है?

    इंक्रीमेंटल बैकअप एक प्रकार का बैकअप है जो केवल उन फ़ाइलों को कॉपी करता है जो पिछले बैकअप के बाद से बदल गई हैं।

    उपयोगी संसाधन:

    • इंक्रीमेंटल बैकअप क्या है?
    RAID क्या है? RAID0, RAID1, RAID5, RAID6, RAID10 क्या हैं?

    RAID (रिडंडेंट अरे ऑफ इनएक्सपेंसिव डिस्क) एक तकनीक है जिसका उपयोग डेटा स्टोरेज के प्रदर्शन और/या विश्वसनीयता को बढ़ाने के लिए किया जाता है।

    • RAID0: इसे डिस्क स्ट्राइपिंग के रूप में भी जाना जाता है, यह एक तकनीक है जो एक फ़ाइल को तोड़ती है और डेटा को RAID समूह में सभी डिस्क ड्राइवों में फैला देती है। विफलता के खिलाफ कोई सुरक्षा उपाय नहीं हैं
    • RAID1: एक लोकप्रिय डिस्क सबसिस्टम जो दो ड्राइवों पर समान डेटा लिखकर सुरक्षा बढ़ाता है। इसे "मिररिंग" कहा जाता है, RAID 1 लिखने के प्रदर्शन में वृद्धि नहीं करता है, लेकिन पढ़ने का प्रदर्शन प्रत्येक डिस्क के प्रदर्शन के योग के बराबर हो सकता है। हालांकि, यदि एक ड्राइव विफल हो जाती है, तो दूसरी ड्राइव का उपयोग किया जाता है, और विफल ड्राइव को मैन्युअल रूप से बदल दिया जाता है। प्रतिस्थापन के बाद, RAID नियंत्रक कार्यशील ड्राइव की सामग्री को नई ड्राइव पर डुप्लिकेट करता है
    • RAID5: यह एक डिस्क सबसिस्टम है जो पैरिटी डेटा की गणना करके सुरक्षा बढ़ाता है और तीन या अधिक ड्राइवों पर डेटा को इंटरलीव करके गति बढ़ाता है (स्ट्राइपिंग)। एक एकल ड्राइव की विफलता पर, बाद के रीड को वितरित पैरिटी से गणना की जा सकती है ताकि कोई डेटा न खोए
    • RAID6: RAID 6 एक और पैरिटी ब्लॉक जोड़कर RAID 5 का विस्तार करता है। इसके लिए न्यूनतम चार डिस्क की आवश्यकता होती है और यह किसी भी दो समवर्ती डिस्क विफलताओं को पढ़ और लिख सकता है। RAID 6 में पढ़ने के संचालन के लिए प्रदर्शन दंड नहीं है, लेकिन पैरिटी गणना से जुड़े ओवरहेड के कारण लिखने के संचालन पर प्रदर्शन दंड होता है
    • RAID10: इसे RAID 1+0 के रूप में भी जाना जाता है, यह एक RAID कॉन्फ़िगरेशन है जो डेटा की सुरक्षा के लिए डिस्क मिररिंग और डिस्क स्ट्राइपिंग को जोड़ता है। इसके लिए न्यूनतम चार डिस्क की आवश्यकता होती है, और मिरर किए गए जोड़ों में डेटा को स्ट्राइप करता है। जब तक प्रत्येक मिरर किए गए जोड़े में एक डिस्क कार्यशील है, डेटा प्राप्त किया जा सकता है। यदि एक ही मिरर किए गए जोड़े में दो डिस्क विफल हो जाती हैं, तो सभी डेटा खो जाएगा क्योंकि स्ट्राइप्ड सेट में कोई पैरिटी नहीं है

    उपयोगी संसाधन:

    • RAID
    उपयोगकर्ता का डिफ़ॉल्ट समूह कैसे निर्धारित किया जाता है? आप इसे कैसे बदलेंगे?
    ```bash useradd -m -g initial_group username ``` `-g/--gid`: उपयोगकर्ता के प्रारंभिक लॉगिन समूह का नाम या नंबर निर्धारित करता है। यदि निर्दिष्ट किया गया है, तो समूह का नाम मौजूद होना चाहिए; यदि कोई समूह संख्या प्रदान की गई है, तो उसे पहले से मौजूद समूह को संदर्भित करना चाहिए।

    यदि निर्दिष्ट नहीं किया गया है, तो useradd का व्यवहार /etc/login.defs में निहित USERGROUPS_ENAB चर पर निर्भर करेगा। डिफ़ॉल्ट व्यवहार (USERGROUPS_ENAB yes) उपयोगकर्ता नाम के समान नाम वाला एक समूह बनाना है, जिसमें GID UID के बराबर होता है।

    उपयोगी संसाधन:

    • How can I change a user's default group in Linux?
    दैनिक कार्य और स्क्रिप्टिंग के लिए आपका सबसे अच्छा कमांड लाइन टेक्स्ट एडिटर क्या है? ***

    पूरा किया जाना है।

    आप सर्वरों को रैक में क्यों माउंट करना चाहेंगे?
    • हार्डवेयर की सुरक्षा
    • उचित शीतलन
    • संगठित कार्यक्षेत्र
    • बेहतर बिजली प्रबंधन
    • स्वच्छ वातावरण

    उपयोगी संसाधन:

    • 5 Reasons to Rackmount Your PC
    नेटवर्क प्रश्न (23)
    मेरे लिए एक सरल नेटवर्क आरेख बनाएं: आपके पास 20 सिस्टम, 1 राउटर, 4 स्विच, 5 सर्वर और एक छोटा IP ब्लॉक है। ***

    पूरा किया जाना है।

    OSI (या किसी अन्य) मॉडल के बारे में समझने योग्य सबसे महत्वपूर्ण बातें क्या हैं?

    OSI (या किसी अन्य) मॉडल के बारे में समझने योग्य सबसे महत्वपूर्ण बातें हैं:

    • हम प्रोटोकॉल को परतों में विभाजित कर सकते हैं
    • परतें एनकैप्सुलेशन प्रदान करती हैं
    • परतें एब्स्ट्रैक्शन प्रदान करती हैं
    • परतें कार्यों को दूसरों से अलग करती हैं

    उपयोगी संसाधन:

    • OSI Model and Networking Protocols Relationship
    VLAN और सबनेट में क्या अंतर है? क्या सबनेट सेटअप करने के लिए VLAN की आवश्यकता है?

    VLANs और subnets अलग-अलग समस्याओं का समाधान करते हैं। VLANs लेयर 2 पर काम करते हैं, जिससे प्रसार डोमेन बदल जाते हैं (उदाहरण के लिए)। जबकि subnets वर्तमान संदर्भ में लेयर 3 हैं।

    Subnet - यह पते के एक भाग (जिसे अक्सर नेटवर्क पता कहा जाता है) और सबनेट मास्क (नेटमास्क) द्वारा निर्धारित IP पतों की एक श्रृंखला है। उदाहरण के लिए, यदि नेटमास्क 255.255.255.0 (या संक्षेप में /24) है, और नेटवर्क पता 192.168.10.0 है, तो यह IP पतों की एक श्रृंखला 192.168.10.0 से 192.168.10.255 तक परिभाषित करता है। इसे लिखने का संक्षिप्त रूप 192.168.10.0/24 है।

    VLAN - इसे समझने का एक अच्छा तरीका "स्विच विभाजन" है। मान लीजिए आपके पास एक 8 पोर्ट वाला स्विच है जो VLAN-सक्षम है। आप 4 पोर्ट को एक VLAN (जैसे VLAN 1) और 4 पोर्ट को दूसरे VLAN (जैसे VLAN 2) में असाइन कर सकते हैं। VLAN 1 VLAN 2 का कोई ट्रैफ़िक नहीं देखेगा और इसके विपरीत, तार्किक रूप से, अब आपके पास दो अलग-अलग स्विच हैं। सामान्यतः एक स्विच पर, यदि स्विच ने MAC पता नहीं देखा है तो वह ट्रैफ़िक को अन्य सभी पोर्ट पर "फ्लड" कर देगा। इसे रोकते हैं।

    5 सामान्य नेटवर्क पोर्ट सूचीबद्ध करें जो आपको जानने चाहिए।
    POP और IMAP क्या हैं, और आपको उनमें से किसे लागू करना चाहिए, यह कैसे चुनें?

    POP और IMAP दोनों मेल सर्वर से मेल क्लाइंट में संदेश प्राप्त करने के प्रोटोकॉल हैं।

    POP (Post Office Protocol) मेल सर्वर से क्लाइंट तक एकतरफा पुश का उपयोग करता है। डिफ़ॉल्ट रूप से यह संदेशों को POP मेल क्लाइंट पर भेजेगा और उन्हें मेल सर्वर से हटा देगा, हालांकि मेल सर्वर को सभी संदेशों को बनाए रखने के लिए कॉन्फ़िगर करना संभव है। आप अपने मेल क्लाइंट में संदेश पर जो भी कार्रवाई करते हैं (लेबलिंग, हटाना, फ़ोल्डर में ले जाना) वह मेल सर्वर पर प्रतिबिंबित नहीं होगी, और इस प्रकार मेल सर्वर से खींचने वाले अन्य मेल क्लाइंट्स के लिए अप्राप्य होगी। POP मेल सर्वर पर कम स्टोरेज स्पेस का उपयोग करता है और इसे अधिक सुरक्षित माना जा सकता है क्योंकि संदेश केवल एक मेल क्लाइंट पर मौजूद होते हैं, न कि मेल सर्वर और कई क्लाइंट्स पर।

    IMAP (Internet Message Access Protocol) मेल सर्वर और क्लाइंट के बीच दो-तरफा संचार का उपयोग करता है। IMAP के साथ कॉन्फ़िगर किए गए अपने मेल क्लाइंट में किसी संदेश को हटाना या लेबल करना मेल सर्वर पर भी संदेश को हटा देगा या लेबल कर देगा। IMAP विभिन्न क्लाइंट्स या उपकरणों पर मेल एक्सेस करते समय एक समान अनुभव की अनुमति देता है क्योंकि संदेश कई उपकरणों पर समान स्थिति में मौजूद रह सकते हैं। IMAP चुनिंदा रूप से संदेशों को सिंक करके, मेल क्लाइंट से पुराने संदेशों को हटाकर मेल क्लाइंट पर डिस्क स्थान भी बचा सकता है, क्योंकि यह बाद में आवश्यकतानुसार उन्हें मेल सर्वर से सिंक कर सकता है।

    यदि आपको कई उपकरणों पर संदेशों तक पहुँचने की आवश्यकता है और आप अपने क्लाइंट डिवाइस पर डिस्क स्थान बचाना चाहते हैं तो IMAP चुनें। यदि आप अपने मेल सर्वर पर डिस्क स्थान बचाना चाहते हैं, केवल एक क्लाइंट डिवाइस से संदेशों तक पहुँचना चाहते हैं, और सुनिश्चित करना चाहते हैं कि संदेश कई सिस्टम पर मौजूद न हों तो POP चुनें।

    डिफ़ॉल्ट रूट और रूटिंग टेबल की जाँच कैसे करें?

    netstat -nr, route -n या ip route show कमांड का उपयोग करके हम डिफ़ॉल्ट रूट और रूटिंग टेबल देख सकते हैं।

    उपयोगी संसाधन:

    • How to check routes (routing table) in linux
    • FreeBSD Set a Default Route/Gateway
    127.0.0.1 और localhost में क्या अंतर है?

    खैर, सबसे संभावित अंतर यह है कि आपको अभी भी कहीं न कहीं localhost की वास्तविक लुकअप करनी होती है।

    यदि आप 127.0.0.1 का उपयोग करते हैं, तो (बुद्धिमान) सॉफ़्टवेयर इसे सीधे IP पते में बदल देगा और इसका उपयोग करेगा। gethostbyname के कुछ कार्यान्वयन डॉटेड फ़ॉर्मेट (और संभवतः समतुल्य IPv6 फ़ॉर्मेट) का पता लगाएंगे और बिल्कुल भी लुकअप नहीं करेंगे।

    अन्यथा, नाम को हल करना होगा। और इस बात की कोई गारंटी नहीं है कि आपकी hosts फ़ाइल का उपयोग उस समाधान के लिए किया जाएगा (पहले, या बिल्कुल भी) इसलिए localhost पूरी तरह से अलग IP पता बन सकता है।

    मेरा मतलब है कि, कुछ सिस्टम पर, स्थानीय hosts फ़ाइल को बायपास किया जा सकता है। host.conf फ़ाइल Linux (और कई अन्य Unix) पर इसे नियंत्रित करती है।

    यदि आप Unix डोमेन सॉकेट का उपयोग करते हैं तो यह TCP/IP का उपयोग करने की तुलना में थोड़ा तेज़ होगा (क्योंकि आपके पास कम ओवरहेड होता है)। Windows डिफ़ॉल्ट रूप से TCP/IP का उपयोग करता है, जबकि Linux यदि आप localhost चुनते हैं तो Unix डोमेन सॉकेट का उपयोग करने का प्रयास करता है और यदि आप 127.0.0.1 लेते हैं तो TCP/IP का उपयोग करता है।

    उपयोगी संसाधन:

    • What is the difference between 127.0.0.1 and localhost?
    • localhost vs. 127.0.0.1
    ping कमांड के लिए किस पोर्ट का उपयोग किया जाता है?

    ping, ICMP, विशेष रूप से ICMP echo request और ICMP echo reply पैकेट का उपयोग करता है। ICMP से जुड़ा कोई 'पोर्ट' नहीं है। पोर्ट दो IP ट्रांसपोर्ट लेयर प्रोटोकॉल, TCP और UDP से जुड़े होते हैं। ICMP, TCP और UDP "सहोदर" हैं; वे एक-दूसरे पर आधारित नहीं हैं, बल्कि तीन अलग-अलग प्रोटोकॉल हैं जो IP के ऊपर चलते हैं।

    ICMP पैकेट्स की पहचान IP डेटाग्राम हेडर में 'प्रोटोकॉल' फ़ील्ड द्वारा की जाती है। ICMP न तो UDP और न ही TCP संचार सेवाओं का उपयोग करता है, यह कच्ची IP संचार सेवाओं का उपयोग करता है। इसका मतलब है कि ICMP संदेश सीधे IP डेटाग्राम डेटा फ़ील्ड में ले जाया जाता है। raw इस बात से आता है कि यह सॉफ़्टवेयर में कैसे लागू किया जाता है, ICMP संदेश बनाने और भेजने के लिए, कोई raw सॉकेट खोलता है, ICMP संदेश वाला एक बफ़र बनाता है, और फिर संदेश वाले बफ़र को raw सॉकेट में लिखता है।

    ICMP के लिए IP प्रोटोकॉल मान 1 है। प्रोटोकॉल फ़ील्ड IP हेडर का हिस्सा है और पहचानता है कि IP डेटाग्राम के डेटा भाग में क्या है।

    हालाँकि, आप यह देखने के लिए nmap का उपयोग कर सकते हैं कि पोर्ट खुले हैं या नहीं:```bash nmap -p 80 example.com

    root@kitploit:~
    उपयोगी संसाधन:
    
    - [Ping पोर्ट नंबर](https://networkengineering.stackexchange.com/questions/42463/ping-port-number)
    - [क्या किसी address:port को ping करना संभव है?](https://superuser.com/questions/769541/is-it-possible-to-ping-an-addressport)
    
    </details>
    
    <details>
    <summary><b>सर्वर A, सर्वर B से बात नहीं कर सकता। कुछ चरणों में संभावित कारण बताएं।</b></summary><br>
    
    सर्वरों के बीच संचार समस्याओं का निवारण करने के लिए, TCP/IP स्टैक का पालन करना बेहतर होता है:
    
    1. **एप्लिकेशन लेयर**: क्या दोनों सर्वरों पर सेवाएं चालू और चल रही हैं? क्या वे सही ढंग से कॉन्फ़िगर की गई हैं (जैसे सही IP और सही पोर्ट bind करना)? क्या एप्लिकेशन और सिस्टम लॉग में सार्थक त्रुटियाँ दिखाई देती हैं?
    
    2. **ट्रांसपोर्ट लेयर**: क्या एप्लिकेशन द्वारा उपयोग किए जाने वाले पोर्ट खुले हैं (telnet आज़माएं!)? क्या सर्वर को ping करना संभव है?
    
    3. **नेटवर्क लेयर**: क्या नेटवर्क या OS पर फ़ायरवॉल सही ढंग से कॉन्फ़िगर किया गया है? क्या IP स्टैक सही ढंग से कॉन्फ़िगर किया गया है (IP, रूट्स, dns, आदि)? क्या स्विच और राउटर काम कर रहे हैं (ARP तालिका जांचें!)?
    
    4. **भौतिक लेयर**: क्या सर्वर एक नेटवर्क से जुड़े हैं? क्या पैकेट खो रहे हैं?
    
    </details>
    
    <details>
    <summary><b>आपके सर्वर पर होस्टनेम रिज़ॉल्व क्यों नहीं हो रहे हैं? इस समस्या को ठीक करें। ***</b></summary><br>
    
    पूरा किया जाना है।
    
    </details>
    
    <details>
    <summary><b>CLI के साथ डोमेन नाम (बाहरी DNS का उपयोग करके) कैसे रिज़ॉल्व करें? क्या IP को डोमेन नामों में रिज़ॉल्व किया जा सकता है?</b></summary><br>
    
    IP पते को डोमेन नाम में रिज़ॉल्व करने के उदाहरण:```bash
    # with host command:
    host domain.com 8.8.8.8
    
    # with dig command:
    dig @9.9.9.9 google.com
    
    # with nslookup command:
    nslookup domain.com 8.8.8.8
    
    telnet या nc के साथ पोर्ट कनेक्टिविटी का परीक्षण कैसे करें?
    ```bash # with telnet command: telnet code42.example.com 5432

    with nc (netcat) command:

    nc -vz code42.example.com 5432

    root@kitploit:~
    </details>
    
    <details>
    <summary><b>आपको रिमोट सिस्टम प्रशासन के लिए <code>telnet</code> से क्यों बचना चाहिए?</b></summary><br>
    
    आधुनिक ऑपरेटिंग सिस्टम ने सभी संभावित असुरक्षित सेवाओं को डिफ़ॉल्ट रूप से बंद कर दिया है। दूसरी ओर, कुछ नेटवर्क उपकरणों के विक्रेता अभी भी telnet प्रोटोकॉल का उपयोग करके संचार स्थापित करने की अनुमति देते हैं।
    
    **Telnet** संचार के लिए सबसे असुरक्षित विधि का उपयोग करता है। यह नेटवर्क पर डेटा को सादे पाठ प्रारूप में भेजता है और कोई भी नेटवर्क टूल का उपयोग करके आसानी से पासवर्ड पता लगा सकता है।
    
    **Telnet** के मामले में, इसमें लॉगिन क्रेडेंशियल्स को सादे पाठ में पास करना शामिल है, जिसका अर्थ है कि आपके नेटवर्क पर स्निफर चलाने वाला कोई भी व्यक्ति **Telnet** लॉगिन सत्र की जासूसी करके कुछ सेकंड में किसी उपकरण पर नियंत्रण पाने के लिए आवश्यक जानकारी प्राप्त कर सकता है।
    
    उपयोगी संसाधन:
    
    - [एक सुरक्षित विकल्प के रूप में Telnet और SSH](https://www.ssh.com/ssh/telnet)
    - [किसी विशिष्ट पोर्ट पर IP पते पर telnet कैसे करें?](https://superuser.com/questions/339107/how-to-telnet-to-an-ip-address-on-a-specific-port)
    
    </details>
    
    <details>
    <summary><b><code>wget</code> और <code>curl</code> में क्या अंतर है?</b></summary><br>
    
    मुख्य अंतर हैं: `wget` की मुख्य ताकत `curl` की तुलना में रिकर्सिव रूप से डाउनलोड करने की क्षमता है। `wget` केवल कमांड लाइन है। `curl` FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP, RTMP और RTSP का समर्थन करता है।
    
    उपयोगी संसाधन:
    
    - [curl और wget में क्या अंतर है? (मूल)](https://unix.stackexchange.com/questions/47434/what-is-the-difference-between-curl-and-wget)
    
    </details>
    
    <details>
    <summary><b>SSH क्या है और यह कैसे काम करता है?</b></summary><br>
    
    **SSH** का अर्थ **Secure Shell** है। यह एक प्रोटोकॉल है जो आपको सर्वर "A" से सर्वर "B" पर शेल सत्र में जाने देता है। यह आपको अपने सर्वर "B" के साथ बातचीत करने की अनुमति देता है।
    
    **SSH** कनेक्शन स्थापित करने के लिए, रिमोट मशीन (सर्वर A) पर **SSH** डेमॉन नामक सॉफ़्टवेयर चल रहा होना चाहिए और उपयोगकर्ता के कंप्यूटर (सर्वर B) पर **SSH** क्लाइंट होना चाहिए।
    
    **SSH** डेमॉन और **SSH** क्लाइंट एक विशिष्ट नेटवर्क पोर्ट (डिफ़ॉल्ट 22) पर कनेक्शन के लिए सुनते हैं, कनेक्शन अनुरोधों को प्रमाणित करता है, और यदि उपयोगकर्ता सही क्रेडेंशियल प्रदान करता है तो उपयुक्त वातावरण बनाता है।
    
    उपयोगी संसाधन:
    
    - [SSH एन्क्रिप्शन और कनेक्शन प्रक्रिया को समझना](https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process)
    
    </details>
    
    <details>
    <summary><b>अधिकांश ट्यूटोरियल SSH कुंजी प्रमाणीकरण को पासवर्ड प्रमाणीकरण से बेहतर बताते हैं। इसे अधिक सुरक्षित क्यों माना जाता है?</b></summary><br>
    
    **SSH कुंजी** SSH प्रोटोकॉल में एक एक्सेस क्रेडेंशियल है। इसका कार्य उपयोगकर्ता नाम और पासवर्ड के समान है, लेकिन कुंजियाँ मुख्य रूप से स्वचालित प्रक्रियाओं और सिस्टम प्रशासकों और पावर उपयोगकर्ताओं द्वारा सिंगल साइन-ऑन लागू करने के लिए उपयोग की जाती हैं।
    
    उपयोगकर्ता के पासवर्ड की आवश्यकता के बजाय, सार्वजनिक और निजी कुंजियों के साथ असममित क्रिप्टोग्राफी एल्गोरिदम का उपयोग करके क्लाइंट की पहचान की पुष्टि करना संभव है।
    
    यदि आपकी SSH सेवा केवल सार्वजनिक-कुंजी प्रमाणीकरण की अनुमति देती है, तो एक हमलावर को सर्वर पर संग्रहीत सार्वजनिक कुंजी से संबंधित एक निजी कुंजी की प्रतिलिपि की आवश्यकता होती है।
    
    यदि आपकी SSH सेवा पासवर्ड-आधारित प्रमाणीकरण की अनुमति देती है, तो आपका इंटरनेट से जुड़ा SSH सर्वर बॉट-नेट द्वारा दिन-रात उपयोगकर्ता नाम और पासवर्ड का अनुमान लगाने की कोशिश करता रहेगा। बॉट नेट को किसी जानकारी की आवश्यकता नहीं है, यह केवल लोकप्रिय नामों और लोकप्रिय पासवर्डों को आज़मा सकता है। इसके अलावा, यह आपके लॉग को अवरुद्ध करता है।
    
    उपयोगी संसाधन:
    
    - [कुंजी-आधारित प्रमाणीकरण (सार्वजनिक कुंजी प्रमाणीकरण)](http://www.crypto-it.net/eng/tools/key-based-authentication.html)
    - [SSH पासवर्ड बनाम कुंजी प्रमाणीकरण](https://security.stackexchange.com/questions/33381/ssh-password-vs-key-authentication)
    
    </details>
    
    <details>
    <summary><b>पैकेट फ़िल्टर क्या है और यह कैसे काम करता है?</b></summary><br>
    
    **पैकेट फ़िल्टरिंग** एक फ़ायरवॉल तकनीक है जिसका उपयोग आउटगोइंग और इनकमिंग पैकेटों की निगरानी करके और स्रोत और गंतव्य इंटरनेट प्रोटोकॉल (IP) पतों, प्रोटोकॉल और पोर्ट के आधार पर उन्हें पास या रोककर नेटवर्क एक्सेस को नियंत्रित करने के लिए किया जाता है।
    
    पैकेट फ़िल्टरिंग वहाँ उपयुक्त है जहाँ मामूली सुरक्षा आवश्यकताएँ हों। कई संगठनों के आंतरिक (निजी) नेटवर्क अत्यधिक खंडित नहीं होते हैं। संगठन के एक हिस्से को दूसरे से अलग करने के लिए अत्यधिक परिष्कृत फ़ायरवॉल की आवश्यकता नहीं होती है।
    
    हालांकि, एक प्रयोगशाला या प्रायोगिक नेटवर्क से उत्पादन नेटवर्क की किसी प्रकार की सुरक्षा प्रदान करना समझदारी है। एक पैकेट फ़िल्टरिंग उपकरण एक सबनेट को दूसरे से अलग करने के लिए एक बहुत ही उपयुक्त उपाय है।
    
    TCP/IP प्रोटोकॉल स्टैक की नेटवर्क लेयर और ट्रांसपोर्ट लेयर पर काम करते हुए, प्रत्येक पैकेट की जाँच की जाती है जब वह प्रोटोकॉल स्टैक में प्रवेश करता है। निम्नलिखित जानकारी के लिए नेटवर्क और ट्रांसपोर्ट हेडर की बारीकी से जाँच की जाती है:
    
    - **प्रोटोकॉल (IP हेडर, नेटवर्क लेयर)** - IP हेडर में, बाइट 9 (याद रखें बाइट गिनती शून्य से शुरू होती है) पैकेट के प्रोटोकॉल की पहचान करता है। अधिकांश फ़िल्टर उपकरणों में TCP, UPD और ICMP के बीच अंतर करने की क्षमता होती है।
    - **स्रोत पता (IP हेडर, नेटवर्क लेयर)** - स्रोत पता उस होस्ट का 32-बिट IP पता है जिसने पैकेट बनाया है।
    - **गंतव्य पता (IP हेडर, नेटवर्क लेयर)** - गंतव्य पता उस होस्ट का 32-बिट IP पता है जिसके लिए पैकेट भेजा गया है।
    - **स्रोत पोर्ट (TCP या UDP हेडर, ट्रांसपोर्ट लेयर)** - TCP या UDP नेटवर्क कनेक्शन का प्रत्येक सिरा एक पोर्ट से बंधा होता है। TCP पोर्ट UDP पोर्ट से अलग और भिन्न होते हैं। 1024 से नीचे क्रमांकित पोर्ट आरक्षित हैं - उनका एक विशिष्ट उपयोग होता है। 1024 (सम्मिलित) से ऊपर क्रमांकित पोर्ट को एफ़ेमरल पोर्ट के रूप में जाना जाता है। विक्रेता जैसे चाहे उनका उपयोग कर सकता है। "ज्ञात" पोर्ट की सूची के लिए, RFP1700 देखें। स्रोत पोर्ट एक छद्म-यादृच्छिक रूप से असाइन किया गया एफ़ेमरल पोर्ट नंबर है। इस प्रकार स्रोत पोर्ट पर फ़िल्टर करना अक्सर बहुत उपयोगी नहीं होता है।
    - **गंतव्य पोर्ट (TCP या UDP हेडर, ट्रांसपोर्ट लेयर)** - गंतव्य पोर्ट नंबर उस पोर्ट को इंगित करता है जिस पर पैकेट भेजा गया है। गंतव्य होस्ट पर प्रत्येक सेवा एक पोर्ट पर सुनती है। कुछ ज्ञात पोर्ट जिन्हें फ़िल्टर किया जा सकता है वे हैं 20/TCP और 21/TCP - ftp कनेक्शन/डेटा, 23/TCP - telnet, 80/TCP - http, और 53/TCP - DNS ज़ोन ट्रांसफर।
    - **कनेक्शन स्थिति (TCP हेडर, ट्रांसपोर्ट लेयर)** - कनेक्शन स्थिति बताती है कि पैकेट नेटवर्क सत्र का पहला पैकेट है या नहीं। TCP हेडर में ACK बिट को "false" या 0 पर सेट किया जाता है यदि यह सत्र का पहला पैकेट है। उन पैकेटों को अस्वीकार या छोड़ कर जिनमें ACK बिट "false" या 0 पर सेट है, किसी होस्ट को कनेक्शन स्थापित करने से रोकना सरल है।
    
    उपयोगी संसाधन:
    
    - [बिल्डिंग इंटरनेट फ़ायरवॉल - पैकेट फ़िल्टरिंग](http://web.deu.edu.tr/static/oreily/networking/firewall/ch06_01.htm)
    
    </details>
    
    <details>
    <summary><b>रिवर्स प्रॉक्सी सर्वर का उपयोग करने के क्या लाभ हैं?</b></summary><br>
    
    **अपने बैक-एंड सर्वर की टोपोलॉजी और विशेषताओं को छिपाना**
    
    **रिवर्स प्रॉक्सी सर्वर** मूल सर्वर की उपस्थिति और विशेषताओं को छिपा सकता है। यह इंटरनेट क्लाउड और वेब सर्वर के बीच एक मध्यस्थ के रूप में कार्य करता है। यह सुरक्षा कारणों से अच्छा है, खासकर जब आप वेब होस्टिंग सेवाओं का उपयोग कर रहे हैं।
    
    **बैकएंड सर्वरों के पारदर्शी रखरखाव की अनुमति देता है**
    
    रिवर्स प्रॉक्सी के पीछे चल रहे सर्वरों में आपके द्वारा किए गए परिवर्तन आपके अंतिम उपयोगकर्ताओं के लिए पूरी तरह से पारदर्शी होंगे।
    
    **लोड बैलेंसिंग**
    
    रिवर्स प्रॉक्सी तब राउंड रॉबिन, वेटेड राउंड रॉबिन, कम से कम कनेक्शन, वेटेड कम से कम कनेक्शन, या रैंडम जैसे लोड बैलेंसिंग एल्गोरिदम को लागू करेगा, ताकि क्लस्टर में सर्वरों के बीच लोड वितरित किया जा सके।
    
    जब कोई सर्वर डाउन हो जाता है, तो सिस्टम स्वचालित रूप से अगले चालू सर्वर पर फ़ेलओवर हो जाएगा और उपयोगकर्ता अपनी सुरक्षित फ़ाइल स्थानांतरण गतिविधियों को जारी रख सकते हैं।
    
    **SSL ऑफलोडिंग/टर्मिनेशन**
    
    आने वाले HTTPS कनेक्शन को संभालता है, अनुरोधों को डिक्रिप्ट करता है और एन्क्रिप्टेड अनुरोधों को वेब सर्वर पर पास करता है।
    
    **IP मास्किंग**
    
    एकल IP लेकिन विभिन्न URL का उपयोग करके विभिन्न बैक एंड सर्वरों पर रूट करना।
    
    उपयोगी संसाधन:
    
    - [रिवर्स प्रॉक्सी के लाभ](https://dzone.com/articles/benefits-reverse-proxy)
    
    </details>
    
    <details>
    <summary><b>राउटर और गेटवे में क्या अंतर है? डिफ़ॉल्ट गेटवे क्या है?</b></summary><br>
    
    **राउटर** सामान्य तकनीकी कार्य (लेयर-3 फ़ॉरवर्डिंग) या उस उद्देश्य के लिए एक हार्डवेयर उपकरण का वर्णन करता है, जबकि गेटवे स्थानीय सेगमेंट के लिए कार्य (अन्यत्र कनेक्टिविटी प्रदान करना) का वर्णन करता है। आप यह भी कह सकते हैं कि "_आप एक राउटर को गेटवे के रूप में सेट करते हैं_"। एक अन्य शब्द हॉप है जो सबनेट के बीच फ़ॉरवर्डिंग का वर्णन करता है।
    
    शब्द **डिफ़ॉल्ट गेटवे** का उपयोग आपके LAN पर उस राउटर को संदर्भित करने के लिए किया जाता है जिसकी जिम्मेदारी LAN के बाहर के कंप्यूटरों के लिए ट्रैफ़िक के लिए संपर्क का पहला बिंदु होना है।
    
    यह सिर्फ परिप्रेक्ष्य का मामला है, उपकरण एक ही है।
    
    उपयोगी संसाधन:
    
    - [राउटर और गेटवे के बीच अंतर (मूल)](https://networkengineering.stackexchange.com/questions/51426/difference-between-router-and-gateway)
    
    </details>
    
    <details>
    <summary><b>निम्नलिखित DNS रिकॉर्ड्स में से प्रत्येक के कार्य की व्याख्या करें: SOA, PTR, A, MX, और CNAME.</b></summary><br>
    
    **DNS रिकॉर्ड** मूल रूप से मैपिंग फ़ाइलें हैं जो DNS सर्वर को बताती हैं कि प्रत्येक डोमेन किस IP पते से संबद्ध है, और प्रत्येक डोमेन पर भेजे गए अनुरोधों को कैसे संभालना है। कुछ **DNS रिकॉर्ड** सिंटैक्स जो लगभग सभी DNS रिकॉर्ड कॉन्फ़िगरेशन में आमतौर पर उपयोग किए जाते हैं, `A`, `AAAA`, `CNAME`, `MX`, `PTR`, `NS`, `SOA`, `SRV`, `TXT`, और `NAPTR` हैं।
    
    - **SOA** - प्राधिकरण की शुरुआत (Start Of Authority)
    - **A** - पता मैपिंग रिकॉर्ड (Address Mapping records)
    - **AAAA** - IP संस्करण 6 पता रिकॉर्ड (IP Version 6 Address records)
    - **CNAME** - विहित नाम रिकॉर्ड (Canonical Name records)
    - **MX** - मेल एक्सचेंजर रिकॉर्ड (Mail exchanger record)
    - **NS** - नाम सर्वर रिकॉर्ड (Name Server records)
    - **PTR** - रिवर्स-लुकअप पॉइंटर रिकॉर्ड (Reverse-lookup Pointer records)
    
    उपयोगी संसाधन:
    
    - [DNS रिकॉर्ड प्रकारों की सूची](https://en.wikipedia.org/wiki/List_of_DNS_record_types)
    
    </details>
    
    <details>
    <summary><b>नेटवर्किंग के लिए IPv4/6 के बजाय MAC पतों का उपयोग क्यों नहीं किया जा सकता?</b></summary><br>
    
    **OSI** मॉडल बताता है कि भौतिक **लेयर 2** तंत्र के आधार पर राउटिंग, एक **लेयर 3** अवधारणा, के निर्णय लेना क्यों समझ में नहीं आता है।
    
    आधुनिक नेटवर्किंग आपके अंत-से-अंत संचार को पूरा करने के लिए कई अलग-अलग परतों में विभाजित है। आपका नेटवर्क कार्ड (जो मैक पते - भौतिक पते द्वारा संबोधित किया जाता है) को केवल अपने भौतिक नेटवर्क पर सहकर्मियों के साथ संचार के लिए जिम्मेदार होने की आवश्यकता है।
    
    **MAC** पते के साथ आप जो संचार प्राप्त कर सकते हैं, वह आपकी मशीन के भौतिक संपर्क में रहने वाले अन्य उपकरणों तक सीमित होगा। इंटरनेट पर, उदाहरण के लिए, आप प्रत्येक मशीन से भौतिक रूप से जुड़े नहीं हैं। यही कारण है कि जब हमें ऐसी मशीन से संचार करने की आवश्यकता होती है जिससे हम भौतिक रूप से जुड़े नहीं हैं, तो हम **TCP/IP** (एक **लेयर 3**, तार्किक पता) तंत्र का उपयोग करते हैं।
    
    **IP** एक मनमाना नंबरिंग योजना है जो कंप्यूटरों के एक समूह पर एक पदानुक्रमित फैशन में लगाई जाती है ताकि उन्हें तार्किक रूप से एक समूह के रूप में अलग किया जा सके (यही एक सबनेट है)। उन समूहों के बीच संदेश भेजना रूटिंग तालिकाओं द्वारा किया जाता है, जो स्वयं कई स्तरों में विभाजित होती हैं ताकि हमें हर एक सबनेट पर नज़र रखने की आवश्यकता न हो।
    
    VLANs

    Subnet IP पतों की एक श्रृंखला से अधिक कुछ नहीं है जो होस्ट को लेयर 2 और 3 पर संचार करने में मदद करता है। प्रत्येक सबनेट को अपने स्वयं के VLAN की आवश्यकता नहीं होती है। VLANs को अलगाव (लेयर 2 संचार के लिए सैंडबॉक्स, 2 अलग-अलग VLANs के 2 सिस्टम संचार नहीं कर सकते लेकिन यह Inter VLAN routing के माध्यम से किया जा सकता है), प्रबंधन में आसानी और सुरक्षा के लिए लागू किया जाता है।

    उपयोगी संसाधन:

    • What is the difference between a VLAN and a subnet? (original)
    • VLANS vs. subnets for network security and segmentation
    सेवापोर्ट
    SMTP25
    FTPडेटा स्थानांतरण के लिए 20 और कनेक्शन स्थापित करने के लिए 21
    DNS53
    DHCPDHCP सर्वर के लिए 67/UDP, DHCP क्लाइंट के लिए 68/UDP
    SSH22

    उपयोगी संसाधन:

    • Red Hat Enterprise Linux 4: Security Guide - Common Ports

    आप (कभी-कभी) किसी IP Address को वापस होस्टनाम में हल कर सकते हैं। IP Address को PTR रिकॉर्ड के विरुद्ध संग्रहीत किया जा सकता है। फिर आप कर सकते हैं:```bash dig A

    root@kitploit:~
    किसी होस्ट का IPv4 पता देखने के लिए, या:```bash
    dig AAAA <hostname>
    

    एक होस्ट के लिए IPv6 पता खोजने के लिए, या:```bash dig PTR ZZZ.YYY.XXX.WWW.in-addr.arpa.

    root@kitploit:~
    IPv4 पते `WWW.XXX.YYY.ZZZ` के लिए होस्टनाम देखने के लिए (ध्यान दें कि ऑक्टेट उलटे हैं), या:```bash
    dig PTR b.a.9.8.7.6.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
    

    उपयोगी संसाधन:

    • मैं Bash स्क्रिप्ट में होस्टनाम को IP पते में कैसे हल कर सकता हूँ?
    • IP पतों को डोमेन नामों में कैसे हल करें?

    Read more