kullanıcısına eklerse, çeşitli sunucularda kullanıcı eklemek için Ansible kullanıyorum. Bazı sunucularda tanımlanan farklı UNIX grupları var. Ansible'ın belirttiğim bir grubun varlığını kontrol etmesinin bir yolunu bulmak isterim ve bu grup mevcutsa, onu bir Kullanıcının ikinci grup listesine ekleyin (ancak grup mevcut değilse ifadeyi dikkate almayın).Ansible: Unix grubunu yalnızca grup
Bunu Ansible ile nasıl yapabileceğimize dair bir fikrin var mı?
İşte benim başlangıç noktam.
Komuta
ansible-playbook -i 'localhost,' -c local ansible_user.yml
ansible_user.yml
---
- hosts: all
user: root
become: yes
vars:
password: "!"
user: testa
tasks:
- name: add user
user: name="{{user}}"
state=present
password="{{password}}"
shell=/bin/bash
append=yes
comment="test User"
Güncel: @udondan önerdiği çözüm dayalı, ben aşağıdaki ek ile bu çalışma elde edebildi görevler.
- name: Check if user exists
shell: /usr/bin/getent group | awk -F":" '{print $1}'
register: etc_groups
- name: Add secondary Groups to user
user: name="{{user}}" groups="{{item}}" append=yes
when: '"{{item}}" in etc_groups.stdout_lines'
with_items:
- sudo
- wheel
grupları> = 7.0 komutunu kullanıcı grubuna eklemek istediğinizde Red Hat ve arkadaşlar tüm grupları/etc/grupları içinde yazdırmaz. Sadece geçerli kullanıcının bulunduğu grupları basar. –
Ubuntu 16.04'de, "gruplar ..." komutu sadece geçerli kullanıcının – mykola
'a ait olduğu grupları yazdırır. "Gruplar", bu örnekte farklı bir değişken kaydetmeniz gerekir. Ansible ayrılmış değişken: - https://github.com/lorin/ansible-quickref – gilesw