निर्दिष्ट उपयोगकर्ता के रूप में कमांड चलाने के लिए उत्तरदायी बनें निर्देश

Ansible Become Directive Run Commands



Ansible का उपयोग करके, आप रॉ कमांड या Ansible प्लेबुक का उपयोग करके रिमोट मशीनों पर विभिन्न ऑपरेशन कर सकते हैं। डिफ़ॉल्ट रूप से, Ansible playbook को दूरस्थ होस्ट पर उसी उपयोगकर्ता के रूप में Ansible कंट्रोलर पर निष्पादित किया जाता है। इसका मतलब है कि अगर आपको रिमोट मशीन पर किसी अन्य उपयोगकर्ता के रूप में कमांड चलाने की आवश्यकता है, तो आपको इसे अपनी उत्तरदायी प्लेबुक में स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता होगी।

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







उपयोगकर्ता की जानकारी एक अन्सिबल प्लेबुक में निर्दिष्ट चर का उपयोग करके निर्दिष्ट की जाती है, जैसे कि be_pass, उपयोगकर्ता के पासवर्ड को निर्दिष्ट करने के लिए be_user, साथ ही साथ कौन सा उपयोगकर्ता कमांड चला सकता है।



Ansible कार्यों को रूट के रूप में कैसे चलाएं

Ansible में रूट उपयोगकर्ता के रूप में एक विशिष्ट कमांड को चलाने के लिए, आप बन निर्देश को लागू कर सकते हैं और मान को 'सत्य' पर सेट कर सकते हैं। ऐसा करने से Ansible को कमांड चलाते समय बिना किसी तर्क के sudo को लागू करने के लिए कहा जाता है।



उदाहरण के लिए, एक Ansible playbook पर विचार करें जो MySQL-server पैकेज को अपडेट करती है और फिर उसे रीस्टार्ट करती है। सामान्य लिनक्स संचालन में, आपको ऐसे कार्यों को करने के लिए रूट उपयोगकर्ता के रूप में लॉग इन करना होगा। Ansible में, आप बस बन को कॉल कर सकते हैं: हाँ निर्देश, जैसा कि नीचे दिखाया गया है:





- मेजबान: सभी

बनना:हां

कार्य:

- नाम: अंसिबल रनजैसारूट और अपडेट sys

यम:

नाम: mysql- सर्वर

राज्य: नवीनतम

- नाम:

सेवा.सेवा:
नाम: mysqld

राज्य: पुनः आरंभ

उपरोक्त प्लेबुक में, हमने बन निर्देश का उपयोग किया और be_user उपयोगकर्ता को निर्दिष्ट नहीं किया, क्योंकि बन निर्देश के तहत कोई भी आदेश डिफ़ॉल्ट रूप से रूट के रूप में चलाया जाता है।

यह इसे निर्दिष्ट करने के समान है:



- मेजबान: सभी

बनना:हां

be_user: रूट

कार्य:

- नाम: अंसिबल रनजैसारूट और अपडेट sys

यम:
नाम: mysql- सर्वर

राज्य: नवीनतम

- नाम: सेवा। सेवा:

नाम: mysqld

राज्य: पुनः आरंभ

सुडो के रूप में उत्तरदायी कार्यों को कैसे चलाएं

सामान्य रूट उपयोगकर्ता के बजाय एक विशिष्ट उपयोगकर्ता के रूप में एक उत्तरदायी कार्य को चलाने के लिए, आप be_user निर्देश का उपयोग कर सकते हैं और कार्य को निष्पादित करने के लिए उपयोगकर्ता के उपयोगकर्ता नाम को पास कर सकते हैं। यह यूनिक्स में sudo -u कमांड का उपयोग करने जैसा है।

be_user निर्देश को लागू करने के लिए, आपको पहले बन निर्देश को सक्रिय करना होगा, क्योंकि be_user इस निर्देश को सक्रिय किए बिना अनुपयोगी है।

निम्नलिखित प्लेबुक पर विचार करें, जिसमें कमांड को नो-यूज़र के रूप में चलाया जाता है।

- नाम: भागो aआदेश जैसाएक अन्य उपयोगकर्ता(कोई नहीं)
आदेश:पी.एस.का

बनना:सच

बन_विधि:इसका

be_user: कोई नहीं

बनो_झंडे:'-एस/बिन/बैश'

उपरोक्त प्लेबुक स्निपेट में, हमने बन, बन_यूसर, और अन्य निर्देशों को लागू किया।

  1. बन_विधि : यह विशेषाधिकार वृद्धि विधि सेट करता है, जैसे सु या सूडो।
  2. be_user निर्देश : यह उपयोगकर्ता को कमांड चलाने के लिए निर्दिष्ट करता है; इसका मतलब यह नहीं है: हाँ।
  3. बनो_झंडे : यह निर्दिष्ट कार्य के लिए उपयोग किए जाने वाले झंडे सेट करता है।

अब आप उपरोक्त प्लेबुक को ansible-playbook filename.yml के साथ चला सकते हैं और अपने लिए परिणाम देख सकते हैं। आउटपुट वाले कार्यों के लिए, आपको डिबग मॉड्यूल को लागू करने की आवश्यकता हो सकती है।

Ansible कैसे चलाएं पासवर्ड के साथ बनें

एक निर्देश बनने के लिए जिसके लिए पासवर्ड की आवश्यकता होती है, आप निर्दिष्ट प्लेबुक को लागू करते समय Ansible को पासवर्ड मांगने के लिए कह सकते हैं।

उदाहरण के लिए, पासवर्ड के साथ प्लेबुक चलाने के लिए, नीचे दिए गए कमांड को दर्ज करें:

ansible-playbook be_pass.yml--आस्क-बनें-पास

आप -K ध्वज भी निर्दिष्ट कर सकते हैं, जो उपरोक्त आदेश के समान संचालन करता है। उदाहरण के लिए:

ansible-playbook be_pass.yml-प्रति

एक बार निर्दिष्ट करने के बाद, कार्य निष्पादित होने पर आपको पासवर्ड के लिए संकेत दिया जाएगा।

ध्यान दें : आप -b ध्वज का उपयोग करके Ansible AD HOC रॉ कमांड में बनने के निर्देश का भी उपयोग कर सकते हैं। अधिक जानने के लिए, नीचे दिए गए दस्तावेज़ देखें:

https://linkfy.to/becomeDocumentation

निष्कर्ष

इस लेख को पढ़ने के बाद, अब आपको पता होना चाहिए कि विभिन्न कार्यों के लिए विशेषाधिकार वृद्धि करने के लिए Ansible BECOME निर्देश का उपयोग कैसे करें।

सुरक्षा कारणों से, विभिन्न खातों के लिए प्रतिबंधों को लागू करना और उनका उपयोग कब स्पष्ट रूप से निर्दिष्ट करना बेहतर है। इसलिए, Ansible में sudo और su के उपयोग का एक महत्वपूर्ण पहलू विशेषाधिकार वृद्धि है।