मैं एक अलग उपयोगकर्ता के रूप में एक विशिष्ट कार्य चलाने की कोशिश कर रहा हूं जो कि प्लेबुक चला रहा है। मेरी .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
स्वयं में परिभाषित नहीं है ?