The Ansible Menjadi Arahan untuk Menjalankan Perintah sebagai Pengguna yang Ditentukan

Ansible Become Directive Run Commands



Dengan menggunakan Ansible, anda boleh melakukan pelbagai operasi pada mesin jarak jauh menggunakan perintah mentah atau buku main Ansible. Secara lalai, buku main Ansible dijalankan pada host jauh dengan pengguna yang sama pada alat kawalan Ansible. Ini bermaksud bahawa jika anda perlu menjalankan perintah sebagai pengguna lain di mesin jauh, anda perlu menyatakannya secara jelas di dalam buku main Ansible anda.

Untuk melaksanakan fungsi menjalankan perintah sebagai pengguna lain, anda perlu menggunakan fitur sudo yang tersedia dalam sistem Linux. Arahan Ansible menjadi membolehkan anda menjalankan perintah sebagai pengguna yang ditentukan.







Maklumat pengguna ditentukan dalam buku main Ansible menggunakan pemboleh ubah menjadi, seperti menjadi_pass, untuk menentukan kata laluan pengguna menjadi_pengguna, serta pengguna mana yang dapat menjalankan perintah.



Cara Menjalankan Tugas-Tanggungjawab sebagai Root

Untuk menjalankan perintah tertentu sebagai pengguna root di Ansible, anda dapat menerapkan perintah menjadi dan menetapkan nilai menjadi 'true'. Melakukan ini memberitahu Ansible untuk melaksanakan sudo tanpa argumen ketika menjalankan perintah.



Sebagai contoh, pertimbangkan buku main Ansible yang mengemas kini pakej pelayan MySQL dan kemudian memulakannya semula. Dalam operasi Linux biasa, anda perlu log masuk sebagai pengguna root untuk melakukan tugas tersebut. Di Ansible, anda boleh memanggil arahan menjadi: ya, seperti yang ditunjukkan di bawah:





- tuan rumah: semua

menjadi:iya

tugas:

- nama: Larian yang tidak dapat dilayansebagairoot dan kemas kini sys

yum:

nama: pelayan mysql

nyatakan: terkini

- nama:

perkhidmatan. perkhidmatan:
nama: mysqld

nyatakan: dimulakan semula

Dalam buku main di atas, kami menggunakan arahan menjadi dan tidak menentukan pengguna menjadi_ pengguna, kerana setiap perintah di bawah arahan menjadi dijalankan sebagai root secara lalai.

Ini serupa dengan menentukannya sebagai:



- tuan rumah: semua

menjadi:iya

menjadi_user: akar

tugas:

- nama: Larian yang tidak dapat dilayansebagairoot dan kemas kini sys

yum:
nama: pelayan mysql

nyatakan: terkini

- nama: service.service:

nama: mysqld

nyatakan: dimulakan semula

Cara Menjalankan Tugas-Tanggungjawab Sebagai Sudo

Untuk menjalankan tugas Ansible sebagai pengguna tertentu, bukan pengguna root biasa, anda boleh menggunakan arahan menjadi_user dan meneruskan nama pengguna pengguna untuk melaksanakan tugas tersebut. Ini seperti menggunakan perintah sudo -u di Unix.

Untuk melaksanakan arahan menjadi_user, anda mesti mengaktifkan arahan menjadi terlebih dahulu, kerana menjadi_ pengguna tidak dapat digunakan tanpa arahan ini diaktifkan.

Pertimbangkan buku main berikut, di mana perintah itu dijalankan sebagai pengguna tanpa siapa-siapa.

- nama: Jalankan aarahan sebagaipengguna lain(tiada siapa)
arahan:psdaripada

menjadi:benar

menjadi_ kaedah:itu

menjadi_user: tiada siapa

menjadi_flags:'-s / bin / bash'

Dalam coretan playbook di atas, kami menerapkan arahan menjadi, menjadi_user, dan yang lain menjadi arahan.

  1. menjadi_ kaedah : Ini menetapkan kaedah peningkatan hak istimewa, seperti su atau sudo.
  2. arahan menjadi_user : Ini menentukan pengguna untuk menjalankan perintah sebagai; ini tidak bermaksud menjadi: ya.
  3. menjadi_flags : Ini menetapkan bendera yang akan digunakan untuk tugas yang ditentukan.

Anda kini boleh menjalankan buku main di atas dengan nama fail ansible-playbook dan melihat sendiri hasilnya. Untuk tugas dengan output, anda mungkin perlu melaksanakan modul debug.

Cara Menjalankan Ansible menjadi dengan Kata Laluan

Untuk menjalankan arahan menjadi yang memerlukan kata laluan, anda boleh memberitahu Ansible untuk meminta kata laluan ketika memanggil buku main yang ditentukan.

Contohnya, untuk menjalankan buku main dengan kata laluan, masukkan arahan di bawah:

buku main-ansible menjadi_pass.yml- bertanya-menjadi-hantaran

Anda juga boleh menentukan bendera -K, yang melakukan operasi serupa dengan perintah di atas. Sebagai contoh:

buku main-ansible menjadi_pass.yml-TO

Setelah ditentukan, anda akan diminta kata laluan semasa tugas-tugas tersebut dijalankan.

CATATAN : Anda juga dapat menggunakan perintah menjadi dalam perintah mentah Ansible AD HOC menggunakan bendera -b. Untuk mengetahui lebih lanjut, lihat dokumentasi yang disediakan di bawah:

https://linkfy.to/becomeDocumentation

Kesimpulannya

Setelah membaca artikel ini, anda sekarang harus tahu bagaimana menggunakan arahan Ansible BECOME untuk melakukan peningkatan hak istimewa untuk pelbagai tugas.

Atas sebab keselamatan, lebih baik menerapkan sekatan untuk pelbagai akaun dan tentukan secara jelas kapan ia digunakan. Jadi, peningkatan hak istimewa adalah aspek penting dalam penggunaan sudo dan su di Ansible.