Ich gebe das Passwort an mein Sudo in einem Spielbuch wie:
echo <password> | sudo -S su - <username>
Es funktioniert gut. Aber das Problem hier ist in meiner Ausgabe das Passwort sichtbar ist.
Gibt es eine Möglichkeit, das Passwort zu verbergen oder zumindest zu verschlüsseln? Mein Spielbuch ist so:
- name: Weblogic Server control
hosts: "appserver"
tasks:
- name: Ansible copy file to remote server
shell:
cmd: |
echo "{{ansible_password}}" | sudo -S su - dmsc
echo "{{ansible_password}}" | 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
------
Ausgabe:
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"
]
sudo -A
Annäherung von diese Antwort hilftAntworten:
Du willst das
no_log: true
Attribut zur Aufgabe hinzugefügt. Dies ist in beschrieben Ansible Dokumentation und vorher auf geantwortet https://serverfault.com/questions/681832/how-can-i-stop-ansible-from-writing-passwords-to-the-logfiles#766095quelle