Ansible Become Komutlarını Belirtilen Kullanıcı Olarak Çalıştırma Yönergesi

Ansible Become Directive Run Commands



Ansible'ı kullanarak, ham komutları veya Ansible çalışma kitaplarını kullanarak uzak makinelerde çeşitli işlemler gerçekleştirebilirsiniz. Varsayılan olarak, Ansible denetleyicisindeki aynı kullanıcı olarak uzak ana bilgisayarda bir Ansible çalışma kitabı yürütülür. Bu, uzak makinede başka bir kullanıcı olarak bir komut çalıştırmanız gerekirse, bunu Ansible playbook'unuzda açıkça belirtmeniz gerektiği anlamına gelir.

Başka bir kullanıcı olarak komut çalıştırma işlevselliğini uygulamak için Linux sistemlerinde bulunan sudo özelliğini kullanmanız gerekecektir. Ansible be yönergesi, komutları belirtilen kullanıcı olarak çalıştırmanıza izin verir.







Kullanıcının bilgileri, bir Ansible çalışma kitabında, kullanıcının parolasını ve aynı zamanda komutu çalıştırabilecek kullanıcının parolasını belirtmek için be_pass gibi değişkenler kullanılarak belirtilir.



Ansible Tasks Root Olarak Nasıl Çalıştırılır

Ansible'da kök kullanıcı olarak belirli bir komutu çalıştırmak için, be yönergesini uygulayabilir ve değeri 'true' olarak ayarlayabilirsiniz. Bunu yapmak, Ansible'a komutu çalıştırırken hiçbir argüman olmadan sudo uygulamasını söyler.



Örneğin, MySQL sunucusu paketini güncelleyen ve ardından yeniden başlatan bir Ansible çalışma kitabını düşünün. Normal Linux işlemlerinde, bu tür görevleri gerçekleştirmek için kök kullanıcı olarak oturum açmanız gerekir. Ansible'da, aşağıda gösterildiği gibi, basitçe be: yes yönergesini çağırabilirsiniz:





- ana bilgisayarlar: hepsi

olmak:Evet

görevler:

- isim: Ansible çalıştırmaolarakkök ve güncelleme sistemi

yum:

isim: mysql-sunucu

durum: en son

- isim:

servis.servis:
isim: mysqld

durum: yeniden başlatıldı

Yukarıdaki çalışma kitabında, be yönergesini kullandık ve be_user kullanıcısını belirtmedik, çünkü be yönergesi altındaki tüm komutlar varsayılan olarak kök olarak çalıştırılır.

Bu, şu şekilde belirtmeye benzer:



- ana bilgisayarlar: hepsi

olmak:Evet

be_user: kök

görevler:

- isim: Ansible çalıştırmaolarakkök ve güncelleme sistemi

yum:
isim: mysql-sunucu

durum: en son

- ad: hizmet. hizmet:

isim: mysqld

durum: yeniden başlatıldı

Ansible Tasks Sudo Olarak Nasıl Çalıştırılır

Bir Ansible görevini normal kök kullanıcı yerine belirli bir kullanıcı olarak çalıştırmak için, be_user yönergesini kullanabilir ve görevi yürütmek için kullanıcının kullanıcı adını iletebilirsiniz. Bu, Unix'te sudo -u komutunu kullanmaya oldukça benzer.

be_user yönergesini uygulamak için, bu yönerge etkinleştirilmeden be_user kullanılamaz olduğundan, ilk önce be yönergesini etkinleştirmeniz gerekir.

Komutun hiç kimse olarak çalıştırıldığı aşağıdaki oyun kitabını düşünün.

- isim: Bir çalıştırınemretmek olarakBaşka kullanıcı(hiç kimse)
emretmek:psile ilgili

olmak:NS

be_method:onun

be_user: kimse

be_flags:'-s /bin/bash'

Yukarıdaki oyun kitabı pasajında, be, be_kullanıcı ve diğer biçim yönergelerini uyguladık.

  1. ol_yöntemi : Bu, su veya sudo gibi ayrıcalık yükseltme yöntemini ayarlar.
  2. be_user yönergesi : Bu, komutu şu şekilde çalıştıracak kullanıcıyı belirtir; bu şu anlama gelmez: evet.
  3. be_flags : Belirtilen görev için kullanılacak bayrakları ayarlar.

Şimdi yukarıdaki çalışma kitabını ansible-playbook filename.yml ile çalıştırabilir ve sonucu kendiniz görebilirsiniz. Çıktı olan görevler için hata ayıklama modülünü uygulamanız gerekebilir.

Parola ile Ansible nasıl çalıştırılır

Parola gerektiren bir hale yönergesini çalıştırmak için, belirtilen çalışma kitabını çağırırken Ansible'a parola sormasını söyleyebilirsiniz.

Örneğin, bir çalışma kitabını parolayla çalıştırmak için aşağıdaki komutu girin:

ansible-playbook be_pass.yml--ask-olmak-geçer

Yukarıdaki komuta benzer işlemleri gerçekleştiren -K bayrağını da belirtebilirsiniz. Örneğin:

ansible-playbook be_pass.yml-İLE

Belirtildikten sonra, görevler yürütülürken sizden bir parola istenir.

NOT : -b bayrağını kullanarak Ansible AD HOC raw komutlarında be yönergesini de kullanabilirsiniz. Daha fazla bilgi edinmek için aşağıda sağlanan belgelere göz atın:

https://linkfy.to/becomeDocumentation

Çözüm

Bu makaleyi okuduktan sonra, çeşitli görevler için ayrıcalık yükseltmesi gerçekleştirmek için Ansible BECOME yönergesini nasıl kullanacağınızı bilmelisiniz.

Güvenlik nedeniyle, çeşitli hesaplar için kısıtlamalar uygulamak ve bunların ne zaman kullanılacağını açıkça belirtmek daha iyidir. Bu nedenle, ayrıcalık yükseltme, Ansible'da sudo ve su kullanmanın önemli bir yönüdür.