Az Ansible használatával különböző műveleteket végezhet távoli gépeken nyers parancsok vagy Ansible játékkönyvek használatával. Alapértelmezés szerint egy Ansible játékkönyv fut a távoli gépen, mint ugyanaz a felhasználó az Ansible vezérlőn. Ez azt jelenti, hogy ha egy parancsot másik felhasználóként kell futtatnia a távoli gépen, akkor azt kifejezetten meg kell adnia az Ansible játékkönyvben.
A parancsok másik felhasználóként történő futtatásához a sudo funkciót kell használni, amely elérhető a Linux rendszerekben. Az Ansible tullut irányelv lehetővé teszi a parancsok futtatását a megadott felhasználóként.
A felhasználó adatait egy Ansible playbook adja meg, a változó változók segítségével, mint például get_pass, hogy megadja a user_user felhasználó jelszavát, valamint azt, hogy melyik felhasználó futtathatja a parancsot.
Ansible feladatok futtatása gyökérként
Ha egy adott parancsot root felhasználóként szeretne futtatni az Ansible programban, akkor implementálja az change direktívát, és állítsa az értéket „true” értékre. Ha ezt megteszi, az Ansible azt mondja, hogy a sudo parancsot argumentumok nélkül kell végrehajtani a parancs futtatásakor.
Vegyünk például egy Ansible játékkönyvet, amely frissíti a MySQL-szerver csomagot, majd újraindítja azt. Normál Linux operációs rendszer esetén az ilyen feladatok végrehajtásához root felhasználóként kell bejelentkeznie. Az Ansible -ben egyszerűen hívhatja a következőt: yes irányelvnek, az alábbiak szerint:
- házigazdák: mind
válik:Igen
feladatok:
- név: Ansible runmintroot és frissítse a sys rendszert
yum:
név: mysql-server
állapot: legújabb
- név:
service.service:
név: mysqld
állapot: újraindítva
A fenti játékfüzetben az change direktívát használtuk, és nem adtuk meg az change_user felhasználót, mivel az muut irányelv szerinti parancsok alapértelmezés szerint rootként futnak.
Ez hasonló ahhoz, hogy a következőképpen adja meg:
- házigazdák: mind
válik:Igen
get_user: root
feladatok:
- név: Ansible runmintroot és frissítse a sys rendszert
yum:
név: mysql-server
állapot: legújabb
- név: service.service:
név: mysqld
állapot: újraindítva
Ansible Tasks futtatása Sudo -ként
Ha egy Ansible feladatot konkrét felhasználóként kíván futtatni, nem pedig normál root felhasználóként, akkor használja a come_user direktívát, és adja át a felhasználó felhasználónevét a feladat végrehajtásához. Ez olyan, mint a sudo -u parancs használata a Unixban.
Az ask_user irányelv végrehajtásához először aktiválnia kell a
Tekintsük a következő játékkönyvet, amelyben a parancs senki felhasználóként fut.
- név: Futtassa aparancs mintmásik felhasználó(senki)parancs:psnak,-nek
válik:igaz
come_method:annak
user_user: senki
let_zászlók:'-s /bin /bash'
A fenti játékkönyv -részletben megvalósítottuk a „get”, „get_user” és az „egyéb lesz” irányelveket.
- get_method : Ez beállítja a jogosultság eszkalációs módszerét, például a su vagy a sudo.
- get_user irányelv : Ez adja meg a felhasználót a parancs futtatásához; ez nem jelenti azt, hogy: igen.
- lesz_zászló : Ez beállítja a megadott feladathoz használandó zászlókat.
Most futtathatja a fenti játékkönyvet az ansible-playbook fájlnév.yml fájllal, és maga láthatja az eredményt. Kimenettel rendelkező feladatok esetén szükség lehet a hibakeresési modul megvalósítására.
Hogyan lehet futtatni az Ansible -t jelszóval
Ha egy jelszót igénylő változó irányelv futtatásához utasíthatja az Ansible -t, hogy kérjen jelszót a megadott játékkönyv meghívásakor.
Ha például egy játékfüzetet jelszóval szeretne futtatni, írja be az alábbi parancsot:
ansible-playbook tapo_utas.yml--kérés-váltásMegadhatja a -K jelzőt is, amely a fenti parancshoz hasonló műveleteket hajt végre. Például:
ansible-playbook tapo_utas.yml-NAK NEKMiután megadta, a feladatok végrehajtásakor jelszót fog kérni.
JEGYZET : Az muutási irányelvet az Ansible AD HOC nyers parancsokban is használhatja a -b jelző használatával. Ha többet szeretne megtudni, nézze meg az alábbi dokumentációt:
https://linkfy.to/becomeDocumentation
Következtetés
Miután elolvasta ezt a cikket, most tudnia kell, hogyan kell használni az Ansible BECOME direktívát a jogosultságok fokozásához különböző feladatokhoz.
Biztonsági okokból jobb korlátozásokat végrehajtani a különböző fiókok esetében, és kifejezetten megadni, hogy mikor használják őket. Tehát a jogosultságok növelése fontos szempont a sudo és su használatában az Ansible -ben.