루트 비밀번호가 Ansible에서 변경 항목을 트리거하지 못하도록 방지하는 방법은 무엇입니까?

루트 비밀번호가 Ansible에서 변경 항목을 트리거하지 못하도록 방지하는 방법은 무엇입니까?

Ansible 플레이북을 실행하면 항상 다음과 같은 결과를 얻습니다.

TASK [set password] ****************************************************************
changed: [10.1.38.15]

로그 항목으로. 비밀번호가 이미 설정되어 있기 때문에 보여주고 싶지 않습니다. 이것을 쉽게 추적할 수 있는 방법이 있습니까?

내 게임 플레이는

- name: set password                                                            
  run_once: true                                                                
  user:                                                                         
    name: root                                                                  
    password: "{{ 'bleh' | password_hash('sha512') }}"                      
    expires: -1

run_once나는 심지어 다른 사람들이 언급한 것을 본 것을 시도해 보기도 했습니다 .

답변1

이것이 바로 일어나야 할 일입니다. 하지만 매번 동일한 암호화된 비밀번호를 전달할 필요는 없습니다. password_hash두 번째 매개변수로 솔트를 전달할 수 있습니다. 존재하지 않는 경우 무작위로 생성된 항목이 생성됩니다. (솔트는 미리 계산된 사전 공격을 방지하기 위해 사용되므로 bleh해시 값은 매번 달라집니다)

비교하다:

ansible all -i localhost, -m debug -a "msg={{ 'mypassword' | password_hash('sha256') }}"

여러번 실행하면 결과가 바뀌고,

ansible all -i localhost, -m debug -a "msg={{ 'mypassword' | password_hash('sha512', 'mysecretsalt') }}"

소금을 고쳤기 때문에 결과는 동일하게 유지됩니다.

관련 정보