Ansible копия файла, который должен быть доступен только для чтения и принадлежать другому пользователю - PullRequest
0 голосов
/ 08 октября 2019

Мне нужно скопировать файл (в данном случае ключ munge) с управляющего узла на несколько подчиненных узлов, и я хотел бы использовать для этого ансибильное копирование. Проблема заключается в том, что этот файл должен принадлежать пользователю munge и иметь права только для чтения владельца, «0400». Каталог, в котором он находится, должен принадлежать munge и иметь права доступа «0700».

Структура ANSIBLE ниже работает для других файлов с более разрешающими разрешениями «0644» и даже успешно устанавливает владельца / группу / разрешения, нопроисходит сбой для этого файла:

- name: Copy munge key
  copy:
    src: /etc/munge/munge.key
    dest: /etc/munge/munge.key
    owner: munge
    group: munge
    mode: '0400'

Есть ли способ «стать пользователем root или munge» как локально, так и удаленно, чтобы скопировать файл? Или есть другое простое решение этой проблемы?

РЕДАКТИРОВАТЬ:

Я пробовал become: yes, с become_user: root и отдельно с become_user: munge. Ни один не работал. Сбой с ошибкой "Could not find or access '/etc/munge/munge.key'" каждый раз. Файл есть, но и / etc / munge, и /etc/munge/munge.key имеют разрешения только для пользователя munge.

РЕДАКТИРОВАТЬ 2:

Мое хакерское решение состоит из множества вопросовиз пяти задач, которые 1. Освободить разрешения для исходного файла и каталога;2. Освободите разрешения на удаленный файл и каталог;3. Скопируйте файл;4. Заблокируйте удаленные права доступа к файлам и каталогам;5. Заблокируйте исходный файл и каталог. Это работает, но я все еще не понимаю, когда именно вступает в силу «становление» и действует ли оно только на исходном узле или также на удаленном узле, и как это может привести к сбою моей одношаговой копии.

1 Ответ

0 голосов
/ 08 октября 2019

Добавить:

become: true

Этого должно быть достаточно, чтобы избежать сбоя задачи.

...