Spec-Zone.ru › Ansible 2.6

file — Устанавливает атрибуты файлов

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

Обзор

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

Параметры

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

псевдонимы: attr
follow
bool

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

псевдонимы: dest, name
recurse
bool
    Варианты:
  • нет ←
  • да
рекурсивно установить указанные атрибуты файлов (применимо только к каталогам)
selevel По умолчанию:
"s0"
Уровень части контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. Функция _default работает так же, как для seuser.
serole
Роль в контексте файла SELinux, _default функция работает аналогично seuser.
setype
Тип в контексте файла SELinux, _default функция работает аналогично seuser.
seuser
Пользователь в контексте файла SELinux. По умолчанию будет использоваться системная политика, если применимо. Если установлено _default, будет использоваться часть политики user, если она доступна.
src
путь к файлу, на который нужно создать ссылку (применимо только к state=link и state=hard). Принимает абсолютные, относительные и несуществующие пути. Относительные пути относительны к создаваемому файлу (path), что соответствует тому, как команда UNIX ln -s SRC DEST обрабатывает относительные пути.
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
bool

(добавлен в 2.2)
    Варианты:
  • нет ←
  • да
Обычно этот модуль использует атомарные операции, чтобы предотвратить повреждение данных или несогласованные чтения из целевых файлов; иногда системы настроены или просто неисправны таким образом, что это невозможно. Примером являются файлы, смонтированные в Docker; они не могут быть обновлены атомарно и могут быть обновлены только небезопасным способом.
Этот параметр boolean позволяет 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, что означает, что разработчики этого модуля гарантируют, что не будут вноситься несовместимые с предыдущими версиями изменения интерфейса.

Техническое обслуживание

Этот модуль помечен как core, что означает, что он поддерживается Командой по разработке Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.

Список других модулей, поддерживаемых Командой по разработке Ansible, см. в этом документе.

Поддержка

Дополнительную информацию о поддержке данного модуля компанией 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.6/modules/file_module.html

Spec-Zone.ru

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