Kasutades Ansible'i, saate teha kaugtoimingutega mitmesuguseid toiminguid, kasutades toores käske või Ansible mänguraamatuid. Vaikimisi täidetakse Ansible mänguraamat kaugarvutis sama kasutajaga Ansible kontrolleril. See tähendab, et kui peate käsu käivitama kaugarvuti teise kasutajana, peate selle oma Ansible mänguraamatus selgesõnaliselt täpsustama.
Käskude käivitamiseks teise kasutajana peate kasutama Linuxi süsteemides saadaolevat sudo -funktsiooni. Direktiiv Ansible muutub võimaldab käske käivitada määratud kasutajana.
Kasutaja andmed on täpsustatud ansible mänguraamatus, kasutades muutuvaid muutujaid, nagu muutuvad muutujad, näiteks muutuvad pass_, et määrata kasutaja user_user parool ja see, kes saab käsku käivitada.
Kuidas käivitada ansible ülesandeid juurena
Konkreetse käsu käivitamiseks Ansible juurkasutajana saate rakendada muutmisdirektiivi ja seada väärtuseks „tõene”. Seda tehes käsib Ansible käsu käivitamisel rakendada sudo ilma argumentideta.
Näiteks kaaluge Ansible mänguraamatut, mis värskendab MySQL-serveri paketti ja seejärel taaskäivitab selle. Tavaliste Linuxi toimingute puhul peate selliste ülesannete täitmiseks sisse logima juurkasutajana. Jaotises Ansible saate lihtsalt helistada direktiivile get: yes, nagu allpool näidatud:
- võõrustajad: kõik
saada:jah
ülesanded:
- nimi: söödav jooksnagujuurida ja uuendada süsteemi
nami:
nimi: mysql-server
riik: viimane
- nimi:
teenus.teenus:
nimi: mysqld
olek: taaskäivitatud
Ülaltoodud mängujuhendis kasutasime direktiivi muutmist ja ei määranud kasutajat get_user, kuna mis tahes käsku muutma direktiiv käivitatakse vaikimisi rootina.
See sarnaneb selle täpsustamisega järgmiselt:
- võõrustajad: kõik
saada:jah
get_user: juur
ülesanded:
- nimi: söödav jooksnagujuurida ja uuendada süsteemi
nami:
nimi: mysql-server
riik: viimane
- nimi: teenus. teenus:
nimi: mysqld
olek: taaskäivitatud
Kuidas Sudo abil ansible ülesandeid käivitada
Ansible ülesande käivitamiseks konkreetse kasutajana, mitte tavalise juurkasutajana, saate ülesande täitmiseks kasutada käsku get_user ja edastada kasutaja kasutajanimi. See on üsna sarnane käsu sudo -u kasutamisega Unixis.
Direktiivi get_user rakendamiseks peate esmalt aktiveerima muutmisdirektiivi, kuna ilma selle direktiivi aktiveerimiseta ei saa seda kasutada.
Mõelge järgmisele mängujuhendile, kus käsk käivitatakse kui keegi kasutaja.
- nimi: käivitage akäsk naguteine kasutaja(mitte keegi)käsk:pskohta
saada:tõsi
muutuma_meetodiks:selle
muutunud kasutajaks: mitte keegi
muutuda_lippudeks:'-s /bin /bash'
Ülaltoodud mänguraamatu sisulõigus rakendasime direktiivid muutma, muutuma kasutajaks ja muud muutuma.
- muutuma_meetodiks : See määrab privileegide suurendamise meetodi, näiteks su või sudo.
- kasutajaliidese direktiiv : See määrab kasutaja käsu käivitamiseks; see ei tähenda muutumist: jah.
- muutunud_lippudeks : See määrab kindlaksmääratud ülesande jaoks kasutatavad lipud.
Nüüd saate ülaltoodud mänguraamatut käivitada failiga ansible-playbook failinimi.yml ja näha tulemust ise. Väljundiga ülesannete puhul peate võib -olla silumismooduli rakendama.
Kuidas käivitada Ansible parooliga
Parooli nõudva muutmisdirektiivi käivitamiseks võite öelda, et Ansible küsib määratud mängukirja avamisel parooli.
Näiteks parooliga mänguraamatu käivitamiseks sisestage järgmine käsk:
ansible-playbook muutus_pass.yml-küsida-saada-passSamuti saate määrata lipu -K, mis täidab ülaltoodud käsuga sarnaseid toiminguid. Näiteks:
ansible-playbook muutus_pass.yml-TOKui see on määratud, küsitakse teilt ülesannete täitmisel parooli.
MÄRGE : Saate muutmisdirektiivi kasutada ka Ansible AD HOC toores käskudes, kasutades lippu -b. Lisateabe saamiseks vaadake allolevat dokumentatsiooni:
https://linkfy.to/becomeDocumentation
Järeldus
Pärast selle artikli lugemist peaksite nüüd teadma, kuidas kasutada Ansible BECOME direktiivi, et teostada privileegide laiendamist erinevate ülesannete jaoks.
Turvalisuse huvides on parem rakendada piiranguid erinevatele kontodele ja selgesõnaliselt täpsustada, millal neid kasutatakse. Niisiis, privileegide suurendamine on sudo ja su kasutamise oluline aspekt Ansible'is.