Spec-Zone.ru › Ansible 2.5

file - Настройка атрибутов файлов

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Статус
    • Поддержка
    • Автор

Обзор

  • Настройка атрибутов файлов, символических ссылок и каталогов, или удаление файлов/символических ссылок/каталогов. Многие другие модули поддерживают те же параметры, что и модуль file — включая copy, template и assemble.
  • Для целевых систем Windows используйте модуль win_file.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
(добавлен в 2.3)
Значение по умолчанию:
None
Атрибуты файла или каталога. Для получения поддерживаемых флагов см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении lsattr.

псевдонимы: attr
follow
(добавлен в 1.8)
    Варианты:
  • no
  • да ←
Этот флаг указывает, что должны быть следовать файловым ссылкам, если они существуют.
В версиях Ansible до 2.5, по умолчанию было значение no.
force
    Варианты:
  • нет ←
  • да
Вынудительное создание символических ссылок в двух случаях: исходный файл не существует (но появится позже); пункт назначения существует и является файлом (то есть необходимо удалить файл "путь" и создать символическую ссылку на файл "src" вместо него).
group Значение по умолчанию:
None
Имя группы, которая должна владеть файлом/каталогом, как и при вызове chown.
mode Значение по умолчанию:
None
Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644 или 01777). Пропуск ведущей нули, скорее всего, приведет к непредвиденным результатам. Начиная с версии 1.8, режим может быть указан в символической форме (например, u+rwx или u=rw,g=r,o=r).
owner Значение по умолчанию:
None
Имя пользователя, который должен владеть файлом/каталогом, как и при вызове chown.
path
обязательно
путь к управляемому файлу. Псевдонимы: dest, name

псевдонимы: dest, name
recurse
    Варианты:
  • нет ←
  • да
рекурсивно задает указанные атрибуты файла (применяется только к каталогам)
selevel Значение по умолчанию:
s0
Уровень контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. _default функция работает так же, как для seuser.
serole Значение по умолчанию:
None
Роль в контексте файла SELinux, _default функция работает так же, как для seuser.
setype Значение по умолчанию:
None
Тип в контексте файла SELinux, _default функция работает так же, как для seuser.
seuser Значение по умолчанию:
None
Пользователь в контексте файла SELinux. Будет по умолчанию использовать системную политику, если применимо. Если установлено _default, будет использоваться часть политики user, если она доступна.
src
путь к файлу, на который нужно создать ссылку (применимо только к state=link и state=hard). Принимает абсолютные, относительные и несуществующие пути. Относительные пути не расширяются.
state
    Варианты:
  • absent
  • directory
  • file ←
  • hard
  • link
  • touch
Если directory, все промежуточные подкаталоги будут созданы, если они не существуют. Начиная с Ansible 1.7, они будут созданы с указанными разрешениями. Если file, файл НЕ будет создан, если он не существует; см. значение touch или модули copy или template, если вам нужно такое поведение. Если link, символическая ссылка будет создана или изменена. Используйте hard для жёстких ссылок. Если absent, каталоги будут рекурсивно удалены, а файлы или символические ссылки будут удалены. Обратите внимание, что absent не приведет к отказу file, если path не существует, так как состояние не изменилось. Если touch (ново в 1.4), пустой файл будет создан, если path не существует, а существующий файл или каталог получат обновленные время доступа и изменения (аналогично работе `touch` из командной строки).
unsafe_writes
(добавлен в 2.2)
    Варианты:
  • нет ←
  • да
Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Один пример — файлы, смонтированные через docker; их нельзя обновлять атомарно, и это можно сделать только небезопасным способом.
Этот логический параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда нет другого выбора. Помните, что это подвержено гонкам и может привести к повреждению данных.

Примечания

Примечание

  • Для целевых систем Windows используйте модуль win_file.
  • См. также copy, template, assemble

Примеры

# change file ownership, group and mode. When specifying mode using octal numbers, first digit should always be 0.
- file:
    path: /etc/foo.conf
    owner: foo
    group: foo
    mode: 0644
- file:
    path: /work
    owner: root
    group: root
    mode: 01777
- file:
    src: /file/to/link/to
    dest: /path/to/symlink
    owner: foo
    group: foo
    state: link
- file:
    src: '/tmp/{{ item.src }}'
    dest: '{{ item.dest }}'
    state: link
  with_items:
    - { src: 'x', dest: 'y' }
    - { src: 'z', dest: 'k' }

# touch a file, using symbolic modes to set the permissions (equivalent to 0644)
- file:
    path: /etc/foo.conf
    state: touch
    mode: "u=rw,g=r,o=r"

# touch the same file, but add/remove some permissions
- file:
    path: /etc/foo.conf
    state: touch
    mode: "u+rw,g-wx,o-rwx"

# create a directory if it doesn't exist
- file:
    path: /etc/some_directory
    state: directory
    mode: 0755

Статус

Этот модуль помечен как stableinterface, что означает, что авторы модуля гарантируют, что не будут вноситься несовместимые изменения в интерфейс.

Поддержка

Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний

Автор

  • Команда разработчиков Ansible
  • Michael DeHaan

Подсказка

Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/file_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API