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. .yml
Tậ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 whoami
lệ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 hosts
tệ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 password
lỗi '', mặc dù có một dòng trong sudoers
tệp nói someusername ALL=(ALL) NOPASSWD:ALL
và phát lệnh với sudo
máy từ xa vì someusername
khô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 hosts
tệp hoặc root
chính anh ta?