diff --git a/ansible/change_password.yml b/ansible/change_password.yml index 33e3ab8..eeda1a5 100644 --- a/ansible/change_password.yml +++ b/ansible/change_password.yml @@ -1,24 +1,18 @@ --- - name: Utility - Change User Password hosts: masters,workers - become: true gather_facts: false vars: - # Эта переменная придет из Semaphore Survey + # Переменная requested_password придет из Survey в Semaphore target_user: "ubuntu" tasks: - - name: Ensure passlib is installed on target (needed for hashing) - apt: - name: python3-passlib - state: present + - name: Update password for {{ target_user }} using chpasswd + become: true + # Мы передаем пароль через стандартный поток ввода (stdin) прямо в системную утилиту + shell: "echo '{{ target_user }}:{{ requested_password }}' | chpasswd" + # Чтобы пароль не светился в логах Semaphore даже в режиме Debug + no_log: true - - name: Update password for {{ target_user }} - ansible.builtin.user: - name: "{{ target_user }}" - # Мы берем сырой пароль из переменной и хешируем его прямо здесь - password: "{{ requested_password | password_hash('sha512') }}" - update_password: always - - - name: Success message + - name: Confirm update debug: - msg: "Password for {{ target_user }} has been updated!" \ No newline at end of file + msg: "Password for {{ target_user }} has been updated successfully." \ No newline at end of file