Управление пользователями и группами

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

Модули user и group делают все довольно простым в любой сборке Linux.

Давайте добавим группу admin на серверы приложений для администраторов сервера:

ansible app -s -m group -a "name=admin state=present"

Модуль group довольно прост; можно удалить группу, установив state=absent, задать идентификатор группы с помощью gid=[gid] и указать, что группа является системной system=yes.

Теперь добавим пользователя, johndoe на серверы приложений с группой admin, и создадим для него домашнюю папку в /home/johndoe (расположение по умолчанию для большинства дистрибутивов Linux):

ansible app -s -m user -a "name=johndoe group=admin createhome=yes"

Если требуется автоматически создать SSH key для нового пользователя, можно выполнить ту же команду с дополнительным параметром generate_ssh_key=yes. Можно также установить UID пользователя, передав идентификатор uid=[uid] и пароль с password=[encrypted-password].

Как удалить учетную запись?

ansible app -s -m user -a "name=johndoe state=absent remove=yes"

В официальной документации User module подробно разъясняются все возможности.

results matching ""

    No results matching ""