ฉันกำลังพยายามเรียกใช้งาน 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ตัวเขาเองได้อย่างไร?