Tôi đang cố gắng chạy một tác vụ Ansible cụ thể với tư cách là một người dùng khác với người đang chạy playbook. .ymlTập tin của tôi trông như thế này:
---
- hosts: staging_servers
tasks:
- name: check user
remote_user: someusername
shell: whoami
Chạy tác vụ này cho tôi thấy rằng whoamilệnh trả về một người dùng khác với tôi đã xác định trong tác vụ (chính xác, trả về người dùng được xác định trong hoststệp được gọi ubuntu).
Tôi cũng đã cố gắng xác định nhiệm vụ như thế này:
---
- hosts: staging_servers
tasks:
- name: check user
sudo: yes
sudo_user: someusername
shell: whoami
nhưng sau đó tôi gặp Missing sudo passwordlỗi '', mặc dù có một dòng trong sudoerstệp nói someusername ALL=(ALL) NOPASSWD:ALLvà phát lệnh với sudomáy từ xa vì someusernamekhông hỏi tôi mật khẩu.
Vậy, làm thế nào tôi có thể chạy tác vụ cụ thể với tư cách là một người dùng khác mà không phải là người dùng được xác định trong hoststệp hoặc rootchính anh ta?