скрыть пароль от выхода

441
shiva

Я передаю пароль своему sudo в ANSIBLE playbook, например:

echo <password> | sudo -S su - <username> 

Работает нормально. Но проблема здесь в том, что в моем выводе пароль виден.

Есть ли способ скрыть пароль или хотя бы зашифровать его? Моя пьеса выглядит так:

- name: Weblogic Server control hosts: "appserver"  tasks: - name: Ansible copy file to remote server shell: cmd: | echo "{}" | sudo -S su - dmsc  echo "{}" | sudo -S su - dmsc << EOF id cp /home/svc-rb_auto_non_prod/emc-dfs-demo.ear /local/apps/dmscsp/wls1213/user_projects/domains/scspqa_domain/servers/scspqa_admin/upload/emc-dfs-demo.ear EOF register: shell_out  - debug: var: shell_out ------ 

выход:

TASK [debug] ****************************************************************************************************** ok: [appserver] => { "shell_out": { "changed": true,  "cmd": [ "echo",  "siva123",  "|",  "sudo",  "-S",  "su",  "-",  "ls",  "EOF" ],  "delta": "0:00:00.004095",  "end": "2018-10-31 02:42:40.627875",  "failed": false,  "rc": 0,  "start": "2018-10-31 02:42:40.623780",  "stderr": "",  "stderr_lines": [],  "stdout": "siva123 | sudo -S su - ls EOF",  "stdout_lines": [ "siva123 | sudo -S su - ls EOF" ]  
0
[Безопасная передача пароля root в сценарии оболочки] (https://unix.stackexchange.com/q/240344/108618). Kamil Maciorowski 5 лет назад 0
Спасибо за то, что поделились этим, но все же STDOUT распечатывает пароль в моем отчете. Есть ли способ sudo читать зашифрованные пароли или мы можем скрыть? shiva 5 лет назад 0
Я вообще не знаю Ansible. Пожалуйста, проверьте, помогает ли подход `sudo -A` из [этого ответа] (https://superuser.com/a/1351876/432690). Kamil Maciorowski 5 лет назад 0
Все еще не везет через ответ shiva 5 лет назад 0

1 ответ на вопрос

0
Bruce Becker

Вы хотите, чтобы no_log: trueатрибут был добавлен в задачу. Это описано в документации Ansible и дан ответ ранее на https://serverfault.com/questions/681832/how-can-i-stop-ansible-from-writing-passwords-to-the-logfiles#766095