Назад | Перейти на главную страницу

Невозможно установить umask для задач Ansible

Я пытаюсь запустить произвольный модуль Ansible с определенным umask (0002).

Некоторые модули Ansible (например, git) поддерживать umask параметр (или mode параметр для установки разрешений напрямую), но многие этого не делают.
Насколько мне известно, Ansible не вызывает оболочку (если вы не используете shell module), поэтому менять маску в моем профиле оболочки бесполезно.
Мой подход состоял в том, чтобы изменить UMASK линия в /etc/login.defs, но для Ansible это не имело значения. В umask остается на 0022.
Кажется, что PAM настроен на включение pam_umask.so.

Я знаю, что могу использовать shell модуль как обходной путь (shell: umask 0002; some_command), но это кажется уродливым взломом.

Как мне заставить Ansible уважать мои umask?

Это Ansible 2.9.9, ориентированный на систему CentOS 8.