Come ottenere Ansible per rispondere a un prompt della password
Domanda
Sto usando Ansible to Script eseguendo un determinato comando ( rosdep ) su un host remoto.Questo comando deve essere eseguito come utente regolare, non root, ma occasionalmente richiede all'utente l'utente per la loro password sudo per ottenere privilegi di root per l'installazione del software.
C'è un modo per istruire Ansible a rispondere a quei prompt della password durante l'esecuzione del comando remoto?Non voglio eseguire l'intero comando con Sudo, quindi l'opzione -K non funziona per questo scopo.
Soluzione
Considera la modifica del file sudoers in modo che tali comandi specifici siano autorizzati a eseguire sudo
senza tale richiesta di password.
il più semplice ma forse non il modo migliore sarebbe quello di usare:
tessa ALL=NOPASSWD: ALL
.
Il che significa che tutti i comandi possono essere eseguiti tramite sudo senza prompt password.
Un approccio migliore sarebbe quello di capire quali comandi specifici richiedono autorizzazioni su sudo e quindi aggiungerle al file dei sudoers.
Ad esempio:
tessa ALL=NOPASSWD:/usr/bin/whoami
.
È possibile spedire il file / modello di /etc/sudoers
modificato come parte del tuo Playbook Ansible.