मैं एक अलग उपयोगकर्ता के रूप में एक विशिष्ट कार्य चलाने की कोशिश कर रहा हूं जो कि प्लेबुक चला रहा है। मेरी .ymlफ़ाइल इस तरह दिखती है:
---
- hosts: staging_servers
tasks:
- name: check user
remote_user: someusername
shell: whoami
इस कार्य को चलाने से मुझे पता चलता है कि whoamiकमांड किसी भिन्न उपयोगकर्ता को कार्य में परिभाषित किया गया है (ठीक है, उस उपयोगकर्ता को लौटाता है जिसे hostsफाइल में परिभाषित किया गया है ubuntu)।
मैंने इस तरह कार्य को परिभाषित करने का भी प्रयास किया:
---
- hosts: staging_servers
tasks:
- name: check user
sudo: yes
sudo_user: someusername
shell: whoami
लेकिन तब मुझे Missing sudo passwordत्रुटि मिलती है , हालाँकि sudoersफ़ाइल में एक पंक्ति होती है जो कहती है someusername ALL=(ALL) NOPASSWD:ALLऔर sudoरिमोट मशीन पर कमांड जारी someusernameकरती है जैसा कि मुझसे पासवर्ड के लिए नहीं पूछा जाता है।
तो, मैं एक अलग उपयोगकर्ता के रूप में विशिष्ट कार्य कैसे चला सकता हूं जो उपयोगकर्ता hostsफ़ाइल या rootस्वयं में परिभाषित नहीं है ?