file - Установка атрибутов файлов
Описание
- Устанавливает атрибуты файлов, символических ссылок и каталогов, или удаляет файлы/символические ссылки/каталоги. Многие другие модули поддерживают те же параметры, что и модуль
file- включая copy, template и assemble. - Для целей Windows используйте модуль win_file.
Параметры
| параметр | обязательный | по умолчанию | значения | комментарии |
|---|---|---|---|---|
| attributes (добавлен в 2.3)
| нет | None | Атрибуты, которые должен иметь файл или каталог. Для получения поддерживаемых флагов обратитесь к странице справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и lsattr. псевдонимы: attr | |
| follow (добавлен в 1.8)
| нет | no |
| Этот флаг указывает, что должны быть прослежены ссылки на файловую систему, если они существуют. |
| force | нет | 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 |
| рекурсивно устанавливать указанные атрибуты файла (применимо только к 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 |
| Если directory, все непосредственные подкаталоги будут созданы, если они не существуют, начиная с 1.7 они будут созданы с предоставленными разрешениями. Если file, файл НЕ будет создан, если он не существует, см. модуль copy или template, если вам нужно такое поведение. Если link, символическая ссылка будет создана или изменена. Используйте hard для жёстких ссылок. Если absent, каталоги будут рекурсивно удалены, а файлы или символические ссылки будут удалены. Обратите внимание, что absent не вызовет сбоя file, если path не существует, так как состояние не изменилось. Если touch (новое в 1.4), пустой файл будет создан, если path не существует, в то время как существующий файл или каталог получат обновлённые время доступа и изменения файла (похоже на работу команды `touch` из командной строки). |
| unsafe_writes (добавлен в 2.2)
| нет |
| Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, иногда системы настроены или просто неисправны таким образом, что это предотвращается. Одним из примеров являются файлы, смонтированные в 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
Примечания
Статус
Этот модуль помечен как 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