ฉันกำลังพยายามเรียกใช้งาน Ansible ที่เฉพาะเจาะจงในฐานะผู้ใช้ที่แตกต่างจากผู้ที่ใช้งาน playbook .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
ตัวเขาเองได้อย่างไร?