Ansible

La direttiva Ansible Become per eseguire comandi come utente specificato

La direttiva Ansible Become per eseguire comandi come utente specificato

Usando Ansible, puoi eseguire varie operazioni su macchine remote usando comandi raw o playbook Ansible. Per impostazione predefinita, un playbook Ansible viene eseguito sull'host remoto come lo stesso utente sul controller Ansible. Ciò significa che se devi eseguire un comando come un altro utente sulla macchina remota, dovrai specificarlo esplicitamente nel tuo playbook Ansible.

Per implementare la funzionalità di esecuzione dei comandi come un altro utente, dovrai utilizzare la funzionalità sudo disponibile nei sistemi Linux. La direttiva Ansible diventa ti consente di eseguire comandi come utente specificato.

Le informazioni dell'utente vengono specificate in un playbook Ansible utilizzando le variabili diven, ad esempio diventa_pass, per specificare la password dell'utente diventa_utente e quale utente può eseguire il comando.

Come eseguire attività Ansible come root?

Per eseguire un comando specifico come utente root in Ansible, puoi implementare la direttiva diventare e impostare il valore su "true.' In questo modo si dice ad Ansible di implementare sudo senza argomenti durante l'esecuzione del comando.

Ad esempio, considera un playbook Ansible che aggiorna il pacchetto del server MySQL e poi lo riavvia. Nelle normali operazioni Linux, è necessario accedere come utente root per eseguire tali attività. In Ansible, puoi semplicemente chiamare la direttiva diventare: yes, come mostrato di seguito:

- host: tutti
diventa: sì
compiti:
- nome: Ansible esegui come root e aggiorna sys
yum:
nome: mysql-server
stato: ultimo
- nome:
servizio.servizio:
nome: mysqld
stato: riavviato

Nel playbook sopra, abbiamo usato la direttiva diventare e non abbiamo specificato l'utente diventare_utente, poiché tutti i comandi sotto la direttiva diventano vengono eseguiti come root per impostazione predefinita.

Questo è simile a specificarlo come:

- host: tutti
diventa: sì
diventare_utente: root
compiti:
- nome: Ansible esegui come root e aggiorna sys
yum:
nome: mysql-server
stato: ultimo
- nome: servizio.servizio:
nome: mysqld
stato: riavviato

Come eseguire attività Ansible come Sudo

Per eseguire un'attività Ansible come utente specifico, anziché come utente root normale, puoi utilizzare la direttiva diventare_utente e passare il nome utente dell'utente per eseguire l'attività. È come usare il comando sudo -u in Unix.

Per implementare la direttiva diventare_utente, devi prima attivare la direttiva diventa, poiché diventa_utente è inutilizzabile senza questa direttiva attivata.

Considera il seguente playbook, in cui il comando viene eseguito come utente nessuno.

- nome: esegui un comando come un altro utente (nessuno)
comando: ps aux
diventa vero
diventare_metodo: su
diventare_utente: nessuno
diventare_flags: '-s /bin/bash'

Nello snippet del playbook sopra, abbiamo implementato le direttive diventa, diventa_utente e altre diventa.

  1. diventare_metodo: Imposta il metodo di escalation dei privilegi, come su o sudo.
  2. direttiva diventare_utente: specifica l'utente con cui eseguire il comando come; questo non implica diventare: si.
  3. diventare_bandiere: Imposta i flag da utilizzare per l'attività specificata.

Ora puoi eseguire il playbook sopra con il nome file ansible-playbook.yml e guarda tu stesso il risultato. Per le attività con un output, potrebbe essere necessario implementare il modulo di debug.

Come eseguire Ansible diventare con password

Per eseguire una direttiva diventare che richiede una password, puoi dire ad Ansible di chiedere una password quando si richiama il playbook specificato.

Ad esempio, per eseguire un playbook con una password, inserisci il comando seguente:

ansible-playbook diventare_pass.yml --ask-become-pass

Puoi anche specificare il flag -K, che esegue operazioni simili al comando precedente. Per esempio:

ansible-playbook diventare_pass.yml -K

Una volta specificata, ti verrà richiesta una password durante l'esecuzione delle attività.

NOTA: puoi anche utilizzare la direttiva diventare nei comandi raw di Ansible AD HOC usando il flag -b. Per saperne di più, consulta la documentazione fornita di seguito:

https://linkfy.per/diventare Documentazione

Conclusione

Dopo aver letto questo articolo, ora dovresti sapere come utilizzare la direttiva Ansible BECOME per eseguire l'escalation dei privilegi per varie attività.

Per motivi di sicurezza, è meglio implementare restrizioni per vari account e specificare esplicitamente quando vengono utilizzati. Quindi, l'escalation dei privilegi è un aspetto importante dell'uso di sudo e su in Ansible.

Giochi rimasterizzati in HD per Linux che non hanno mai avuto una versione Linux prima
Molti sviluppatori ed editori di giochi stanno realizzando remaster HD di vecchi giochi per prolungare la vita del franchise, per favore i fan richied...
Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...
Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...