मैं अपने हैडोप क्लस्टर (Red Hat चल रहा है) की कॉन्फ़िगरेशन को प्रबंधित करने के लिए Ansible का उपयोग करना चाहता हूं।उत्तर: सुडो है लेकिन कोई रूट
मेरे पास सुडो पहुंच है और मैन्युअल रूप से आदेशों को निष्पादित करने के लिए नोड्स में ssh
कर सकते हैं। हालांकि, जब मैं एक ही कार्य करने के लिए उत्तरदायी मॉड्यूल चलाने की कोशिश करता हूं तो मुझे समस्याएं आ रही हैं। हालांकि मेरे पास sudo
पहुंच है, लेकिन मैं रूट नहीं बन सकता। जब मैं Ansible स्क्रिप्ट को ऊपर उठाया विशेषाधिकारों की आवश्यकता पर अमल करने की कोशिश, मैं इस तरह एक त्रुटि प्राप्त:
क्षमा करें, उपयोगकर्ता awoolford निष्पादित करने के लिए 'स्वीकृत नहीं है/bin/bash -c गूंज बन-सफलता [...]/usr/bin/python /tmp/ansible-tmp-1446662360.01-231435525506280/copy ' [some_hadoop_node] पर awoolford के रूप में।
documentation के माध्यम से देख रहे हैं, मैंने सोचा था कि become_allow_same_user
संपत्ति से इसका समाधान हो सकता है, और इसलिए मैं ansible.cfg
के लिए निम्न कहा:
[privilege_escalation]
become_allow_same_user=yes
दुर्भाग्य से, यह काम नहीं किया।
यह post बताता है कि मुझे sudo /bin/sh
(या कुछ अन्य खोल) की अनुमति की आवश्यकता है। दुर्भाग्यवश, सुरक्षा कारणों से यह संभव नहीं है। यहाँ /etc/sudoers
से एक टुकड़ा है:
root ALL=(ALL) ALL
awoolford ALL=(ALL) ALL, !SU, !SHELLS, !RESTRICT
इस तरह माहौल में काम Ansible कर सकते हैं? यदि हां, तो मैं क्या गलत कर रहा हूँ?
आपने कहा कि आप मैन्युअल रूप से नोड को ssh कर सकते हैं और कमांड निष्पादित कर सकते हैं, जो उपयोगकर्ता है? – frank
मैं 'some_command] 'उपयोगकर्ता' awoolford' के रूप में 'sudo [some_command] कर सकता हूं यह प्रदान करता है कि यह'!' सूचियों में से एक में नहीं है ('/ etc/sudoers' से स्निपेट देखें)। –
क्या आप एक उदाहरण प्ले/भूमिका साझा कर सकते हैं जो त्रुटि को फेंकता है? – ydaetskcoR