Izmantojot Ansible, jūs varat veikt dažādas darbības attālās mašīnās, izmantojot neapstrādātas komandas vai Ansible playbooks. Pēc noklusējuma Ansible playbook tiek izpildīts attālajā resursdatorā kā tas pats lietotājs kontrolējamajā kontrolierī. Tas nozīmē, ka, ja jums ir nepieciešams palaist komandu kā citam tālvadības mašīnas lietotājam, jums tas būs skaidri jānorāda savā Ansible playbook.
Lai ieviestu komandu darbības kā cita lietotāja funkcionalitāti, jums būs jāizmanto sudo funkcija, kas ir pieejama Linux sistēmās. Direktīva Ansible kļūt ļauj izpildīt komandas kā norādītais lietotājs.
Lietotāja informācija ir norādīta iespējojamā atskaņošanas grāmatā, izmantojot mainīgos, piemēram, kļūt paroli, lai norādītu lietotāja kļūmes parole lietotāju, kā arī to, kurš lietotājs var palaist komandu.
Kā izpildīt neiespējamos uzdevumus kā root
Lai palaistu noteiktu komandu kā saknes lietotāju vietnē Ansible, jūs varat ieviest komandu direktīva un iestatīt vērtību uz “true”.'To darot, Ansible var palaist komandu sudo bez argumentiem.
Piemēram, apsveriet Ansible playbook, kas atjaunina MySQL-servera pakotni un pēc tam to restartē. Parastās Linux operācijās, lai veiktu šādus uzdevumus, jums jāpiesakās kā root lietotājam. Programmā Ansible varat vienkārši izsaukt direktīvu: jā: kā parādīts zemāk:
- saimnieki: visikļūt: jā
uzdevumi:
- nosaukums: Ansible palaist kā root un atjaunināt sys
yum:
nosaukums: mysql-server
stāvoklis: vēlākais
- nosaukums:
apkalpošana.apkalpošana:
nosaukums: mysqld
stāvoklis: restartēts
Iepriekš aprakstītajā atskaņošanas grāmatā mēs izmantojām direktīvu kļūt un nenorādījām lietotāju_lietotājs, jo visas komandas saskaņā ar direktīvu pēc noklusējuma tiek palaistas kā root.
Tas ir līdzīgi kā to norādīt kā:
- saimnieki: visikļūt: jā
kļūt_lietotājs: sakne
uzdevumi:
- nosaukums: Ansible palaist kā root un atjaunināt sys
yum:
nosaukums: mysql-server
stāvoklis: vēlākais
- nosaukums: serviss.apkalpošana:
nosaukums: mysqld
stāvoklis: restartēts
Kā izpildīt neiespējamos uzdevumus kā Sudo
Lai izpildītu Ansible uzdevumu kā konkrētu lietotāju, nevis parastu saknes lietotāju, uzdevuma izpildei varat izmantot direktyvu kļūt par_lietotāju un nodot lietotāja lietotājvārdu. Tas ir gluži kā sudo -u izmantošana Unix.
Lai ieviestu direktīvu kļūt par lietotāju, vispirms jāaktivizē kļūda direktīva, jo kļūda lietotājs nav izmantojams, ja šī direktīva nav aktivizēta.
Apsveriet šo playbook, kurā komanda tiek palaista kā neviens lietotājs.
- nosaukums: palaidiet komandu kā citu lietotāju (neviens)komanda: ps aux
kļūt: taisnība
kļūt_metode: su
kļūt_lietotājs: neviens
kļūt_flags: '-s / bin / bash'
Iepriekš minētajā spēles grāmatas fragmentā mēs ieviesām tulkošanas, kļūšanas_lietotāja un citas kļūšanas par direktīvām.
- kļūt_metode: Tiek iestatīta privilēģiju eskalācijas metode, piemēram, su vai sudo.
- kļūt par lietotāja direktīvu: Tas norāda, kā lietotājam palaist komandu kā; tas nenozīmē kļūt: jā.
- kļuvuši_piespiesti: Tas nosaka karodziņus, kas jāizmanto norādītajam uzdevumam.
Tagad jūs varat palaist iepriekš minēto atskaņošanas grāmatu ar ansible-playbook faila nosaukumu.yml un redziet rezultātu pats. Veicot uzdevumus ar izvadi, iespējams, būs jāievieš atkļūdošanas modulis.
Kā palaist Ansible kļūst ar paroli
Lai palaistu direktīvu par kļūšanu, kurai nepieciešama parole, varat aicināt Ansible prasīt paroli, atsaucoties uz norādīto atskaņošanas grāmatu.
Piemēram, lai palaistu atskaņošanas grāmatu ar paroli, ievadiet tālāk norādīto komandu:
ansible-playbook kļuvis par.yml - uzdevums-kļūsti-pāriVarat arī norādīt karodziņu -K, kas veic līdzīgas darbības ar iepriekš minēto komandu. Piemēram:
ansible-playbook kļuvis par.yml -KPēc norādīšanas uzdevumu izpildes laikā jums tiks lūgts ievadīt paroli.
PIEZĪME: Kļūt par direktīvu var izmantot arī Ansible AD HOC neapstrādātās komandās, izmantojot -b karogu. Lai uzzinātu vairāk, skatiet tālāk sniegto dokumentāciju:
https: // linkfy.uz / kļūtDokumentācija
Secinājums
Pēc šī raksta izlasīšanas jums tagad jāzina, kā izmantot Ansible BECOME direktīvu, lai veiktu privilēģiju eskalāciju dažādiem uzdevumiem.
Drošības apsvērumu dēļ labāk ir ieviest ierobežojumus dažādiem kontiem un skaidri norādīt, kad tie tiek izmantoti. Tātad privilēģiju eskalācija ir svarīgs sudo un su izmantošanas aspekts Ansible.