---
status: stable
type: concept
tags:
  - devops
updated: 2026-02-27
title: Modules - Ansible
created: 2025-12-17
---

# Modules - Ansible

## Module Command

Выполнение команды на удаленном узле.

```yaml
- name: Display home directory
  command: ls ~/
```

У самих команд могут быть параметры, например

```yaml
command: cat resolv.conf chdir=/etc # ansible сначала убедится, что мы в директории /etc или перейдет в неё, а затем выполнит команду cat

command: mkdir /folder creates=/folder # ansible создаст папку только в том случае, если её не существует
```

# Module Script

Выполняет скрипт, находящийся на хост-контроллере

```yaml
-
  name: Тестовый плейбук со скриптом
  hosts: all
  tasks:
    - name: Запуск скрипта с хоста
      script: /root/script.sh -arg1 -arg2
```

## Module LineInFile

Записывает указанную строку в конец указанного файла _если точнее, ansible убеждается в наличии такой строки, но если её нет, то записывает в конец_

```yaml
-
  name: Тестовый плейбук
  hosts: all
  tasks:
    - lineinfile:
        path: /etc/resolv.conf
        line: 'nameserver 10.1.250.10'
```

## Module Service

Работает с сервисами сервера (systemd)

```yaml
-
    name: 'Execute a script on all web server nodes'
    hosts: web_nodes
    tasks:
        -
            name: 'Start httpd service on web server nodes'
            service:
                state: started
```

## User

> ansible.builtin.user

Работа с пользователями системы (linux)

```yaml
-
	name: 'Create new user'
	hosts: all
	tasks:
		-
			name: 'Create user John'
			user:
				name: John
				uid: 1040
				group: dev
```