0

ansible

Добавление учетных записей с помощью Ansible

13.09.2022

Ранее мы уже рассматривали несколько вариантов использования системы управления конфигурациями Ansible, теперь давайте разберемся как добавить пользователя на удаленный хост!

Считаем, что Ansible установлен и настроен. Для создания пользователя на удаленном хосте мы будем использовать простой набор инструкций (плейбук), хотя можно подойти к вопросу более основательно и создать роль для управления пользователями (подробнее о ролях можно почитать здесь).

Создаем набор инструкций с именем useradd.yml:

touch useradd.yml

Содержимое файла useradd.yml следующее:

---
- hosts: all
  become: yes
  tasks:
 
  - name: Add user to remote hosts
    user: name=admin groups=sudo shell=/bin/bash password=$6$KjyfytoJ$hoQdVIGcRZgje2HpHFf8ldvooLfY774SrEpHkADUf3d7uGBSwVLeMXsPIfb4l2TaXWvprMz868ZbH8HLaiDeh.
 
  - name: Add SSH keys to remote hosts
    authorized_key: user=admin key="{{ lookup('file', "/home/admin/Downloads/key.pub") }}"

В данном примере поле hosts: содержит группу, на которой будет запущена задача (task). Дополнительно указано, что для выполнения задач требуется эскалация привилегий (become: yes).

Примечание. become используется начиная с версии Ansible 1.9, до этого для эскалации привилегий использовали sudo.

Поле tasks: содержит имена задач (Add user to remote hosts и Add SSH keys to remote hosts), имена модулей, которые должны выполняться (user и authorized_key) и аргументы, необходимые для выполнения модуля (для первого это namegroupsshellpassword, для второго — userkey).

Запустить только что созданный набор инструкций можно следующей командой:

ansible-playbook playbooks/useradd.yml

PLAY [all] *********************************************************************

TASK [setup] *******************************************************************
ok: [test1]
ok: [test2]

TASK [Add user to remote hosts] ************************************************
changed: [test2]
changed: [test1]

TASK [Add SSH keys to remote hosts] ********************************************
changed: [test2]
changed: [test1]

PLAY RECAP *********************************************************************
test2                   : ok=3    changed=2    unreachable=0    failed=0
test1                   : ok=3    changed=2    unreachable=0    failed=0

После выполнения данного набора инструкций можно логиниться на удаленные хосты под только что созданной учетной записью.

Свежие комментарии

Подписка

Лучшие статьи

Рубрики

Популярное

1 ansible 2K views

Знакомство с Ansible. Часть 1: Введение

Ansible – одна из систем управления конфигурациями (автоматизации настройки и развертывания серверов). Особенность Ansible – наличие управляющего сервера, с которого отправляются команды или наборы инструкций
2 ansible 1.4K views

Знакомство с Ansible. Часть 4: модули

Мы уже справились установкой системы управления конфигурациями Ansible, написали первый набор инструкций (playbook) и разобрали результат его выполнения, а также ознакомились с использованием переменных в Ansible. В этой части
3 ansible 1.1K views

Знакомство с Ansible. Часть 3: переменные

В первой части знакомства с Ansible мы успешно установили систему управления конфигурациями и написали первый playbook, во второй части разобрали результат выполнения нашего набора инструкций и научились повторно
fsmo
Previous Story

Передача/захват ролей FSMO на другой контроллер домена Active Directory

ansible
Next Story

Ansible: ввод sudo-пароля при выполнении playbook

Latest from Blog

Поиск и замена URL в MYSQL

Используйте сценарии MySQL для поиска и замены URL-адресов в базе данных Другой способ поиска и замены старых URL-адресов в базе данных – использование сценариев MySQL. Этот метод очень полезен, если у вас

POSTGRESQL 16 + CЕРВЕР 1С X64 И 1С 8.3.24

Для начала, в какой среде будем работать: Наша задача: Предполагается, что Debian на который мы установим как PostgreSQL так и Сервер 1С установлен (Установка по умолчанию). Для начала проверим «локаль»: Как видим

HADOOP

Hабор инструментов для разработки программ и обеспечения среды для их запуска в распределенной среде. Позволяет создавать большие кластеры и упрощает процесс управления ими. Является одним из элементов конвейеров обработки больших данных. Разработан на Java фондом Apache

Обновление mySQL с версии 5.7 до 8.0

Сами процедуры могут немного различаться в зависимости от операционной системы, поэтому приведенные ниже шаги ориентированы на общую схему и могут потребовать некоторых адаптаций. Создание резервной копии данных в MySQL можно выполнить с

11 советов по настройке файла wp-config.php

Скорость: Отключите сохраненные версии… Сейчас! Функция сохранения версий записей включена по умолчанию, но может привести к значительному “раздуванию” базы данных. Сохраненные версии существуют для того, чтобы вы могли откатиться к предыдущей версии записи,
Go toTop

Don't Miss

ansible

Ansible: ввод sudo-пароля при выполнении playbook

Большинство действий в наборах инструкций системы управления конфигурациями Ansible следует выполнять с
ansible

Знакомство с Ansible. Часть 5: роли, условия и циклы

В первой части знакомства с Ansible мы разобрались с установкой и базовой настройкой системы