Podczas próby uruchomienia zadania z sudo w moim asystencie Ansible pojawia się komunikat o błędzie.Brakujące hasło staje się hasłem podczas sudoing
Oto mój PlayBook:
---
- hosts: production
gather_facts: no
remote_user: deployer
become: yes
become_method: sudo
become_user: root
tasks:
- name: Whoami
command: /usr/bin/whoami
spodziewałbym whoami być root
ale zadanie nie powiedzie się z komunikatem o błędzie:
» ansible-playbook -i ansible_hosts sudo.yml --ask-sudo-pass
SUDO password: [I paste my sudo password here]
PLAY [production] *************************************************************
GATHERING FACTS ***************************************************************
fatal: [MY.IP] => Missing become password
TASK: [Whoami] ****************************************************************
FATAL: no hosts matched or all hosts have already failed -- aborting
Kiedy ręcznie ssh w polu i spróbować sudo to działa zgodnie z oczekiwaniami:
» ssh [email protected]
» sudo whoami
[I paste the same sudo password]
root
Hasło użytkownika wdrażającego zostało ustawione przez Ansibl e następująco (w innym playbook):
- hosts: production
remote_user: root
# The {{ansible_become_pass}} comes from this file:
vars_files:
- ./config.yml
tasks:
- name: Create deployer user
user: name=deployer uid=1040 groups=sudo,deployer shell=/bin/bash password={{ansible_become_pass}}
Gdzie {{ansible_become_pass}}
to hasło pragnę mieszany z następującym Pythona fragmencie:
python -c 'import crypt; print crypt.crypt("password I desire", "$1$SomeSalt$")'
"password I desire"
ma zastąpić hasłem i "$1$SomeSalt$"
jest przypadkowy sól .
Używam wersji Answer 1.9.4.
Na czym polega problem?
Próbowałem obu twoich książek i pracowały dla mnie z ansible 1.9.2. Jedyną zmianą, jaką wprowadziłem, było ustawienie hasła użytkownika ansibli i właśnie wkleiłem wartość zamiast dołączać ją z innego pliku. Nie mogę sobie wyobrazić, że to by miało znaczenie. Właśnie używałem swojej stacji roboczej i łączę się z localhostem. –
Może to błąd w twojej wersji z mieszaniem przełącznika --ask-sudo z składnią stał w podręczniku? Próbowałem obu --ask-sudo i --ask-zostać i oba działały. –