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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
kubeaudit — kubeaudit helps you audit your Kubernetes clusters against common security controls | Kitploit
उपकरण/GitHubGitHub/shopify/kubeaudit
Cloud Infrastructure SecurityVulnerability ScannersContainer SecurityConfiguration AuditingCloud SecurityDevSecOpsMisconfigurationArchived
GitHubshopify/kubeaudit

kubeaudit

kubeaudit helps you audit your Kubernetes clusters against common security controls

रिपॉजिटरी देखें
1.9k1891 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

Build Status Go Report Card GoDoc

अब क्लस्टरों के लिए Kubernetes >=1.19 चलाना आवश्यक है।

अनपंजीकृत kubernetes.io एनोटेशन वाले ओवरराइड लेबल को हटा दिया जाएगा। जल्द ही इसके बजाय kubeaudit.io का उपयोग करना आवश्यक हो जाएगा। अतिरिक्त संदर्भ के लिए इस चर्चा को देखें।

🚨 हटाने की सूचना 🚨

Kubeaudit को अक्टूबर 2024 तक हटाने की योजना है।

हम सक्रिय रूप से ऐसे रखरखावकर्ताओं की तलाश कर रहे हैं जो इस परियोजना की देखरेख लेने में रुचि रखते हैं। यदि आप इसके विकास और रखरखाव को जारी रखने के लिए उत्सुक हैं, तो कृपया हमसे संपर्क करें।

विकल्पों की तलाश करने वाले उपयोगकर्ताओं के लिए, हम Kubebench पर स्विच करने की सलाह देते हैं, जो समान कार्यक्षमता प्रदान करता है और सक्रिय रूप से बनाए रखा जाता है।

समुदाय के योगदान और समर्थन के लिए धन्यवाद।

kubeaudit ☁️ 🔒 💪

kubeaudit एक कमांड लाइन टूल और Go पैकेज है जो Kubernetes क्लस्टरों का विभिन्न सुरक्षा संबंधी चिंताओं के लिए ऑडिट करता है, जैसे:

  • गैर-रूट के रूप में चलाना
  • केवल-पढ़ने के लिए रूट फाइलसिस्टम का उपयोग करना
  • डरावनी क्षमताओं को हटाना, नई न जोड़ना
  • प्रिविलेज्ड न चलाना
  • और भी बहुत कुछ!

tldr. kubeaudit सुनिश्चित करता है कि आप सुरक्षित कंटेनर तैनात करें!

पैकेज

kubeaudit को Go पैकेज के रूप में उपयोग करने के लिए, पैकेज दस्तावेज़ देखें।

इस README का शेष भाग kubeaudit को कमांड लाइन टूल के रूप में उपयोग करने पर केंद्रित होगा।

कमांड लाइन इंटरफ़ेस (CLI)

  • स्थापना
  • त्वरित प्रारंभ
  • ऑडिट परिणाम
  • कमांड
  • कॉन्फ़िगरेशन फ़ाइल
  • त्रुटियों को ओवरराइड करें
  • योगदान

स्थापना

Brew

root@kitploit:~
brew install kubeaudit

बाइनरी डाउनलोड करें

Kubeaudit के आधिकारिक रिलीज़ हैं जो आशीर्वादित और स्थिर हैं: आधिकारिक रिलीज़

DIY बिल्ड

मुख्य शाखा में स्थिर रिलीज़ की तुलना में नई सुविधाएँ हो सकती हैं। यदि आपको रिलीज़ में अभी तक शामिल नहीं की गई कोई नई सुविधा चाहिए, तो सुनिश्चित करें कि आप नवीनतम Go का उपयोग कर रहे हैं और निम्नलिखित चलाएँ:

root@kitploit:~
go get -v github.com/Shopify/kubeaudit

kubeaudit का उपयोग त्वरित प्रारंभ से शुरू करें या सभी समर्थित कमांड देखें।

Kubectl प्लगइन

पूर्वापेक्षा: kubectl v1.12.0 या बाद का संस्करण

kubectl v1.12.0 के साथ बाहरी फ़ंक्शनों के आसान प्लगेबिलिटी की शुरुआत के साथ, kubeaudit को kubectl audit के रूप में आमंत्रित किया जा सकता है:

  • make plugin चलाकर और $GOPATH/bin को अपने पथ में उपलब्ध कराकर।

या

  • बाइनरी का नाम बदलकर kubectl-audit करके और इसे अपने पथ में उपलब्ध कराकर।

Docker

हम अब Docker Hub पर छवियाँ जारी नहीं करते (क्योंकि Docker Hub ने मुफ्त टीम संगठनों को बंद कर दिया)। फिलहाल, पुरानी छवियाँ अभी भी उपलब्ध हैं लेकिन किसी भी समय उपलब्ध नहीं रह सकती हैं। हम जल्द ही Github कंटेनर रजिस्ट्री पर छवियाँ प्रकाशित करना शुरू करेंगे।

अपने क्लस्टर में एक जॉब के रूप में kubeaudit चलाने के लिए क्लस्टर में kubeaudit चलाना देखें।

त्वरित प्रारंभ

kubeaudit के तीन मोड हैं:

  1. मेनिफेस्ट मोड
  2. स्थानीय मोड
  3. क्लस्टर मोड

मेनिफेस्ट मोड

यदि -f/--manifest फ्लैग का उपयोग करके कोई Kubernetes मेनिफेस्ट फ़ाइल प्रदान की जाती है, तो kubeaudit मेनिफेस्ट फ़ाइल का ऑडिट करेगा।

उदाहरण कमांड:

root@kitploit:~
kubeaudit all -f "/path/to/manifest.yml"

उदाहरण आउटपुट:

root@kitploit:~
$ kubeaudit all -f "internal/test/fixtures/all_resources/deployment-apps-v1.yml"

---------------- Results for ---------------

  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: deployment
    namespace: deployment-apps-v1

--------------------------------------------

-- [error] AppArmorAnnotationMissing
   Message: AppArmor annotation missing. The annotation 'container.apparmor.security.beta.kubernetes.io/container' should be added.
   Metadata:
      Container: container
      MissingAnnotation: container.apparmor.security.beta.kubernetes.io/container

-- [error] AutomountServiceAccountTokenTrueAndDefaultSA
   Message: Default service account with token mounted. automountServiceAccountToken should be set to 'false' or a non-default service account should be used.

-- [error] CapabilityShouldDropAll
   Message: Capability not set to ALL. Ideally, you should drop ALL capabilities and add the specific ones you need to the add list.
   Metadata:
      Container: container
      Capability: AUDIT_WRITE
...

यदि किसी न्यूनतम गंभीरता के साथ कोई त्रुटि नहीं मिलती है, तो निम्नलिखित लौटाया जाता है:

root@kitploit:~
All checks completed. 0 high-risk vulnerabilities found

ऑटोफिक्स

मेनिफेस्ट मोड autofix कमांड का उपयोग करके सभी सुरक्षा मुद्दों को स्वचालित रूप से ठीक करने का भी समर्थन करता है:

root@kitploit:~
kubeaudit autofix -f "/path/to/manifest.yml"

स्रोत फ़ाइल को संशोधित करने के बजाय निश्चित मेनिफेस्ट को एक नई फ़ाइल में लिखने के लिए, -o/--output फ्लैग का उपयोग करें।

root@kitploit:~
kubeaudit autofix -f "/path/to/manifest.yml" -o "/path/to/fixed"

किसी kubeaudit कॉन्फ़िग फ़ाइल पर निर्दिष्ट कस्टम नियमों के आधार पर मेनिफेस्ट को ठीक करने के लिए, -k/--kconfig फ्लैग का उपयोग करें।

root@kitploit:~
kubeaudit autofix -k "/path/to/kubeaudit-config.yml" -f "/path/to/manifest.yml" -o "/path/to/fixed"

क्लस्टर मोड

Kubeaudit पता लगा सकता है कि यह किसी क्लस्टर में कंटेनर के अंदर चल रहा है या नहीं। यदि ऐसा है, तो यह उस क्लस्टर के सभी Kubernetes संसाधनों का ऑडिट करने का प्रयास करेगा:

root@kitploit:~
kubeaudit all

स्थानीय मोड

Kubeaudit स्थानीय kubeconfig फ़ाइल ($HOME/.kube/config) का उपयोग करके किसी क्लस्टर से कनेक्ट करने का प्रयास करेगा। एक अलग kubeconfig स्थान --kubeconfig फ्लैग का उपयोग करके निर्दिष्ट किया जा सकता है। kubeconfig के किसी संदर्भ को निर्दिष्ट करने के लिए, -c/--context फ्लैग का उपयोग करें।

root@kitploit:~
kubeaudit all --kubeconfig "/path/to/config" --context my_cluster

kubernetes कॉन्फ़िग फ़ाइलों के बारे में अधिक जानकारी के लिए, https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/ देखें।

ऑडिट परिणाम

Kubeaudit तीन गंभीरता स्तरों के साथ परिणाम उत्पन्न करता है:

  • Error: एक सुरक्षा समस्या या अमान्य kubernetes कॉन्फ़िगरेशन
  • Warning: एक सर्वोत्तम अभ्यास अनुशंसा
  • Info: सूचनात्मक, कोई कार्रवाई आवश्यक नहीं। इसमें वे परिणाम शामिल हैं जो ओवरराइड किए गए हैं।

न्यूनतम गंभीरता स्तर --minSeverity/-m फ्लैग का उपयोग करके सेट किया जा सकता है।

डिफ़ॉल्ट रूप से kubeaudit मानव-पठनीय तरीके से परिणाम आउटपुट करेगा। यदि आउटपुट को आगे संसाधित किया जाना है, तो इसे --format json फ्लैग का उपयोग करके JSON पर सेट किया जा सकता है। परिणामों को लॉग के रूप में आउटपुट करने के लिए (पिछला डिफ़ॉल्ट) --format logrus का उपयोग करें। कुछ आउटपुट प्रारूपों में टर्मिनल में परिणामों को पढ़ने में आसान बनाने के लिए रंग शामिल होते हैं। रंगों को अक्षम करने के लिए (उदाहरण के लिए, यदि आप आउटपुट को टेक्स्ट फ़ाइल में भेज रहे हैं), तो आप --no-color फ्लैग का उपयोग कर सकते हैं।

आप --format sarif फ्लैग का उपयोग करके kubeaudit रिपोर्ट को SARIF में उत्पन्न कर सकते हैं। SARIF परिणामों को फ़ाइल में लिखने के लिए, आप > के साथ आउटपुट को रीडायरेक्ट कर सकते हैं। उदाहरण के लिए:

root@kitploit:~
kubeaudit all -f path-to-my-file.yaml --format="sarif" > example.sarif

यदि गंभीरता स्तर error के परिणाम हैं, तो kubeaudit निकास कोड 2 के साथ बाहर निकलेगा। इसे --exitcode/-e फ्लैग का उपयोग करके बदला जा सकता है।

kubeaudit को अनुकूलित करने के सभी तरीकों के लिए, ग्लोबल फ्लैग देखें।

कमांड

ऑडिटर

ऑडिटर को व्यक्तिगत रूप से भी चलाया जा सकता है।

ग्लोबल फ्लैग

कॉन्फ़िगरेशन फ़ाइल

kubeaudit कॉन्फ़िग का उपयोग दो कार्यों के लिए किया जा सकता है:

  1. केवल कुछ ऑडिटर को सक्षम करना
  2. ऑडिटर के लिए कॉन्फ़िगरेशन निर्दिष्ट करना

कोई भी कॉन्फ़िगरेशन जिसे व्यक्तिगत ऑडिटर के लिए फ्लैग का उपयोग करके निर्दिष्ट किया जा सकता है, कॉन्फ़िग का उपयोग करके प्रस्तुत किया जा सकता है।

कॉन्फ़िग का निम्नलिखित प्रारूप है:

root@kitploit:~
enabledAuditors:
  # ऑडिटर डिफ़ॉल्ट रूप से सक्षम होते हैं यदि उन्हें स्पष्ट रूप से "false" पर सेट नहीं किया गया हो
  apparmor: false
  asat: false
  capabilities: true
  deprecatedapis: true
  hostns: true
  image: true
  limits: true
  mounts: true
  netpols: true
  nonroot: true
  privesc: true
  privileged: true
  rootfs: true
  seccomp: true
auditors:
  capabilities:
    # ऐड सूची में आवश्यक क्षमताएँ जोड़ें, ताकि kubeaudit त्रुटियाँ न रिपोर्ट करे
    allowAddList: ['AUDIT_WRITE', 'CHOWN']
  deprecatedapis:
    # यदि कोई संस्करण निर्दिष्ट नहीं है और 'deprecatedapis' ऑडिटर सक्षम है, तो हटाए गए API के साथ परिभाषित संसाधनों के लिए WARN परिणाम उत्पन्न होंगे।
    currentVersion: '1.22'
    targetedVersion: '1.25'
  image:
    # यदि कोई इमेज निर्दिष्ट नहीं है और 'image' ऑडिटर सक्षम है, तो बिना टैग वाली इमेज का उपयोग करने वाले कंटेनरों के लिए WARN परिणाम उत्पन्न होंगे
    image: 'myimage:mytag'
  limits:
    # यदि कोई सीमा निर्दिष्ट नहीं है और 'limits' ऑडिटर सक्षम है, तो उन कंटेनरों के लिए WARN परिणाम उत्पन्न होंगे जिनमें कोई cpu या मेमोरी सीमा निर्दिष्ट नहीं है
    cpu: '750m'
    memory: '500m'

प्रत्येक ऑडिटर के बारे में अधिक विवरण के लिए, जिसमें कॉन्फ़िग में ऑडिटर-विशिष्ट कॉन्फ़िगरेशन का विवरण शामिल है, ऑडिटर दस्तावेज़ देखें।

नोट: kubeaudit कॉन्फ़िग, --kubeconfig फ्लैग के साथ निर्दिष्ट kubeconfig फ़ाइल के समान नहीं है, जो Kubernetes कॉन्फ़िग फ़ाइल को संदर्भित करता है (देखें स्थानीय मोड)। यह भी ध्यान दें कि केवल all और autofix कमांड kubeaudit कॉन्फ़िग का उपयोग करने का समर्थन करते हैं। यह अन्य कमांड के साथ काम नहीं करेगा।

नोट: यदि फ्लैग का उपयोग कॉन्फ़िग फ़ाइल के साथ संयोजन में किया जाता है, तो फ्लैग प्राथमिकता लेंगे।

त्रुटियों को ओवरराइड करें

सुरक्षा मुद्दों को विशिष्ट कंटेनरों या पॉड्स के लिए ओवरराइड लेबल जोड़कर अनदेखा किया जा सकता है। इसका मतलब है कि ऑडिटर त्रुटि परिणामों के बजाय info परिणाम उत्पन्न करेगा और ऑडिट परिणाम नाम के अंत में Allowed जुड़ जाएगा। लेबल प्रत्येक ऑडिटर के दस्तावेज़ीकरण में प्रलेखित हैं, लेकिन ओवरराइड का समर्थन करने वाले ऑडिटर के लिए सामान्य प्रारूप इस प्रकार है:

एक ओवरराइड लेबल में एक key और एक value होता है।

key ओवरराइड प्रकार (कंटेनर या पॉड) और एक override identifier का संयोजन है जो प्रत्येक ऑडिटर के लिए अद्वितीय है (विशिष्ट ऑडिटर के लिए docs देखें)। key ओवरराइड प्रकार के आधार पर दो रूपों में से एक ले सकता है:

  1. कंटेनर ओवरराइड, जो उस विशिष्ट कंटेनर के लिए ऑडिटर को ओवरराइड करते हैं, इस प्रारूप में हैं:
root@kitploit:~
container.kubeaudit.io/[container name].[override identifier]
  1. पॉड ओवरराइड, जो पॉड के अंदर सभी कंटेनरों के लिए ऑडिटर को ओवरराइड करते हैं, इस प्रारूप में हैं:
root@kitploit:~
kubeaudit.io/[override identifier]

यदि value को एक गैर-रिक्त स्ट्रिंग पर सेट किया जाता है, तो इसे info परिणाम में OverrideReason के रूप में प्रदर्शित किया जाएगा:

root@kitploit:~
$ kubeaudit asat -f "auditors/asat/fixtures/service-account-token-true-allowed.yml"

---------------- Results for ---------------

  apiVersion: v1
  kind: ReplicationController
  metadata:
    name: replicationcontroller
    namespace: service-account-token-true-allowed

--------------------------------------------

-- [info] AutomountServiceAccountTokenTrueAndDefaultSAAllowed
   Message: Audit result overridden: Default service account with token mounted. automountServiceAccountToken should be set to 'false' or a non-default service account should be used.
   Metadata:
      OverrideReason: SomeReason

Kubernetes विनिर्देश के अनुसार, value 63 वर्णों या उससे कम होनी चाहिए और खाली होनी चाहिए या एक अल्फ़ान्यूमेरिक वर्ण ([a-z0-9A-Z]) से शुरू और समाप्त होनी चाहिए जिसके बीच में डैश (-), अंडरस्कोर (_), डॉट (.), और अल्फ़ान्यूमेरिक वर्ण हो सकते हैं।

एक ही संसाधन में कई ओवरराइड लेबल (कई ऑडिटर के लिए) जोड़े जा सकते हैं।

उदाहरणों के लिए उस विशिष्ट ऑडिटर के ऑडिटर दस्तावेज़ देखें जिसे आप ओवरराइड करना चाहते हैं।

लेबल के बारे में अधिक जानने के लिए, https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ देखें।

योगदान

यदि आप कोई बग ठीक करना चाहते हैं, कोई सुविधा जोड़ना चाहते हैं या केवल एक टाइपो सुधारना चाहते हैं, तो कृपया बेझिझक ऐसा करें जब तक आप हमारे आचार संहिता का पालन करते हैं।

  1. अपना खुद का फोर्क बनाएं!
  2. स्रोत प्राप्त करें: go get github.com/Shopify/kubeaudit
  3. स्रोत पर जाएँ: cd $GOPATH/src/github.com/Shopify/kubeaudit
  4. अपने फोर्क किए गए रेपो को फोर्क के रूप में जोड़ें: git remote add fork https://github.com/you-are-awesome/kubeaudit
  5. अपनी फीचर ब्रांच बनाएं: git checkout -b awesome-new-feature
  6. Kind स्थापित करें
  7. यह सुनिश्चित करने के लिए परीक्षण चलाएँ कि सब कुछ अपेक्षित रूप से काम कर रहा है: USE_KIND=true make test (Kind के बिना परीक्षण चलाने के लिए: make test)
  8. अपने परिवर्तनों को कमिट करें: git commit -am 'Adds awesome feature'
  9. ब्रांच को पुश करें: git push fork
  10. योगदानकर्ता लाइसेंस समझौते पर हस्ताक्षर करें
  11. एक PR सबमिट करें (सभी PR पर 🐛 (बग फिक्स), ✨ (नई सुविधा), 📖 (दस्तावेज़ीकरण अद्यतन), या ⚠️ (ब्रेकिंग परिवर्तन) लेबल होना चाहिए)
  12. ???
  13. लाभ

ध्यान दें कि यदि आपने अपना PR खोलने से पहले CLA पर हस्ताक्षर नहीं किया, तो आप PR पर एक टिप्पणी जोड़कर जाँच को पुनः चला सकते हैं जो कहे "I've signed the CLA!"!

टूल डाउनलोड करें
कमांडविवरणदस्तावेज़ीकरण
allसभी उपलब्ध ऑडिटर चलाता है, या kubeaudit कॉन्फ़िग का उपयोग करके निर्दिष्ट किए गए।docs
autofixस्वचालित रूप से सुरक्षा मुद्दों को ठीक करता है।docs
versionवर्तमान kubeaudit संस्करण प्रिंट करता है।
कमांडविवरणदस्तावेज़ीकरण
apparmorAppArmor के बिना चलने वाले कंटेनरों को ढूंढता है।docs
asatस्वचालित रूप से माउंट किए गए डिफ़ॉल्ट सेवा खाते का उपयोग करने वाले पॉड्स को ढूंढता है।docs
capabilitiesऐसे कंटेनरों को ढूंढता है जो अनुशंसित क्षमताओं को नहीं हटाते या नई जोड़ते हैं।docs
deprecatedapisकिसी भी संसाधन को ढूंढता है जो हटाए गए API संस्करण के साथ परिभाषित है।docs
hostnsऐसे कंटेनरों को ढूंढता है जिनमें HostPID, HostIPC या HostNetwork सक्षम है।docs
imageऐसे कंटेनरों को ढूंढता है जो इमेज के वांछित संस्करण (टैग के माध्यम से) का उपयोग नहीं करते या बिना टैग वाली इमेज का उपयोग करते हैं।docs
limitsऐसे कंटेनरों को ढूंढता है जो निर्दिष्ट CPU और मेमोरी सीमा से अधिक हैं या कोई सीमा निर्दिष्ट नहीं करते।docs
mountsऐसे कंटेनरों को ढूंढता है जिनमें संवेदनशील होस्ट पथ माउंट हैं।docs
netpolsऐसे नेमस्पेस को ढूंढता है जिनमें डिफ़ॉल्ट-अस्वीकार नेटवर्क नीति नहीं है।docs
nonrootरूट के रूप में चलने वाले कंटेनरों को ढूंढता है।docs
privescऐसे कंटेनरों को ढूंढता है जो विशेषाधिकार वृद्धि की अनुमति देते हैं।docs
privilegedप्रिविलेज्ड के रूप में चलने वाले कंटेनरों को ढूंढता है।docs
rootfsऐसे कंटेनरों को ढूंढता है जिनमें केवल-पढ़ने के लिए फाइलसिस्टम नहीं है।docs
seccompSeccomp के बिना चलने वाले कंटेनरों को ढूंढता है।docs
ShortLongविवरण
--formatउपयोग करने के लिए आउटपुट प्रारूप ("sarif", "pretty", "logrus", "json" में से एक) (डिफ़ॉल्ट "pretty" है)
--kubeconfigस्थानीय Kubernetes कॉन्फ़िग फ़ाइल का पथ। केवल स्थानीय मोड में उपयोग किया जाता है (डिफ़ॉल्ट $HOME/.kube/config है)
-c--contextउपयोग करने के लिए kubeconfig संदर्भ का नाम
-f--manifestऑडिट करने के लिए yaml कॉन्फ़िगरेशन का पथ। केवल मेनिफेस्ट मोड में उपयोग किया जाता है। stdin से पढ़ने के लिए आप - का उपयोग कर सकते हैं।
-n--namespaceकेवल निर्दिष्ट नेमस्पेस में संसाधनों का ऑडिट करें। वर्तमान में मेनिफेस्ट मोड में समर्थित नहीं है।
-g--includegeneratedस्कैन में जनरेट किए गए संसाधनों को शामिल करें (जैसे डिप्लॉयमेंट द्वारा जनरेट किए गए पॉड्स)। यदि आप चाहते हैं कि kubeaudit जनरेट किए गए संसाधनों के लिए परिणाम उत्पन्न करे (उदाहरण के लिए यदि आपके पास कस्टम संसाधन हैं या अनाथ संसाधनों को पकड़ना चाहते हैं जहां मालिक संसाधन अब मौजूद नहीं है) तो आप इस फ्लैग का उपयोग कर सकते हैं।
-m--minseverityरिपोर्ट करने के लिए न्यूनतम गंभीरता स्तर सेट करें ("error", "warning", "info" में से एक) (डिफ़ॉल्ट "info" है)
-e--exitcodeयदि "error" गंभीरता वाले परिणाम हैं तो उपयोग करने के लिए निकास कोड। परंपरागत रूप से, 0 सफलता के लिए और सभी गैर-शून्य कोड त्रुटि के लिए उपयोग किए जाते हैं। (डिफ़ॉल्ट 2 है)
--no-colorआउटपुट में रंगों का उपयोग न करें (डिफ़ॉल्ट false है)