Spec-Zone.ru › Ansible 2.4

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

  • Описание
  • Параметры
  • Примеры
  • Примечания
    • Статус
    • Информация о сопровождении

Описание

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

Параметры

параметр обязательный по умолчанию значения комментарии
attributes
(добавлен в 2.3)
нет None
Атрибуты, которые должен иметь файл или каталог. Для получения поддерживаемых флагов обратитесь к странице справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и lsattr.
псевдонимы: attr
follow
(добавлен в 1.8)
нет no
  • yes
  • no
Этот флаг указывает, что должны быть прослежены ссылки на файловую систему, если они существуют.
force
нет no
  • yes
  • no
принудительно создать символические ссылки в двух случаях: исходный файл не существует (но появится позже); целевой объект существует и является файлом (поэтому необходимо удалить файл "path" и создать символическую ссылку на файл "src" вместо него).
group
нет
Имя группы, которая должна владеть файлом/каталогом, как это будет передано в chown.
mode
нет
Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644). Пропуск ведущей нули может привести к непредсказуемым результатам. Начиная с версии 1.8, режим может быть указан в символической форме (например, u+rwx или u=rw,g=r,o=r).
owner
нет
Имя пользователя, который должен владеть файлом/каталогом, как это будет передано в chown.
path
да
путь к управляемому файлу. Псевдонимы: dest, name
псевдонимы: dest, name
recurse
нет no
  • yes
  • no
рекурсивно устанавливать указанные атрибуты файла (применимо только к state=directory)
selevel
нет s0
Уровень контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. Функция _default работает так же, как для seuser.
serole
нет
Роль в контексте файла SELinux, функция _default работает так же, как для seuser.
setype
нет
Тип в контексте файла SELinux, функция _default работает так же, как для seuser.
seuser
нет
Пользователь в контексте файла SELinux. По умолчанию будет использоваться системная политика, если применимо. Если установлено значение _default, будет использоваться часть политики user если она доступна.
src
нет
путь к файлу для создания ссылки (применимо только к state=link). Принимает абсолютные, относительные и несуществующие пути. Относительные пути не расширяются.
state
нет file
  • file
  • link
  • directory
  • hard
  • touch
  • absent
Если directory, все непосредственные подкаталоги будут созданы, если они не существуют, начиная с 1.7 они будут созданы с предоставленными разрешениями. Если file, файл НЕ будет создан, если он не существует, см. модуль copy или template, если вам нужно такое поведение. Если link, символическая ссылка будет создана или изменена. Используйте hard для жёстких ссылок. Если absent, каталоги будут рекурсивно удалены, а файлы или символические ссылки будут удалены. Обратите внимание, что absent не вызовет сбоя file, если path не существует, так как состояние не изменилось. Если touch (новое в 1.4), пустой файл будет создан, если path не существует, в то время как существующий файл или каталог получат обновлённые время доступа и изменения файла (похоже на работу команды `touch` из командной строки).
unsafe_writes
(добавлен в 2.2)
нет
  • yes
  • no
Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, иногда системы настроены или просто неисправны таким образом, что это предотвращается. Одним из примеров являются файлы, смонтированные в Docker; их невозможно обновить атомарно и можно выполнить только небезопасным способом.
Этот булевый параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это подвержено гонкам и может привести к повреждению данных.

Примеры

# 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:
    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

Примечания

Примечание

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

Статус

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

Информация о сопровождении

Для получения дополнительной информации о поддержке этого модуля Red Hat обратитесь к этому knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>

Для получения помощи в разработке модулей, если вы захотите, пожалуйста, ознакомьтесь с Информация о сообществе и внесение изменений, Тестирование Ansible и Разработка модулей.

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

Spec-Zone.ru

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