Ansible 쉘 모듈 빈 응답

Ansible 쉘 모듈 빈 응답

ansible의 쉘 모듈을 사용하여 "나는 누구입니까?" 명령을 실행하면 빈 응답이 표시되고 그 이유를 이해할 수 없습니다.

  hosts: server1
  remote_user: devops
  become: true
  tasks:
    - name: print current user
      shell: who am i
      register: userr
    - debug:
        msg: "{{ userr.stdout }}"

[root@ansible test]# ansible-playbook test.yml 

PLAY [test playbook] ********************************************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************************************************
ok: [server1]

TASK [print current user] ***************************************************************************************************************************
changed: [server1]

TASK [debug] ****************************************************************************************************************************************
ok: [server1] => {
    "msg": ""
}

PLAY RECAP ******************************************************************************************************************************************
server1                    : ok=3    changed=1    unreachable=0    failed=0 

답변1

내가 생각하는 이유는 ansible이 명령을 실행하기 위해 로그인 쉘을 사용하지 않기 때문입니다. 따라서 명령에는 아무것도 표시되지 않습니다.

If you replace: 

who am i

with:

su - anotheruser; who am i

출력이 표시되어야 합니다.

관련 정보