salt
salt copied to clipboard
[BUG] file.copy state with makedirs uses file permissions on created directories
Description
When file.copy
creates parent directories, it creates those with file permissions specified in mode
. Directories generally should have the executable bit set though when read permissions are granted.
Setup Irrelevant.
Steps to Reproduce the behavior
create test file:
file.managed:
- name: /tmp/file
- replace: false
/tmp/test will have 644 perms:
file.copy:
- name: /tmp/test/test
- source: /tmp/file
- makedirs: true
- mode: '0644'
display perms:
module.run:
- file.get_mode:
- path: /tmp/test
remove test files:
file.absent:
- names:
- /tmp/test
- /tmp/file
Expected behavior Create directories with sensible permissions.
Screenshots
----------
ID: display perms
Function: module.run
Result: True
Comment: file.get_mode: 0644
Started: 14:01:43.678142
Duration: 0.551 ms
Changes:
----------
file.get_mode:
0644
Versions Report
salt --versions-report
(Provided by running salt --versions-report. Please also mention any differences in master/minion versions.)Salt Version:
Salt: 3004.2
Dependency Versions:
cffi: 1.14.6
cherrypy: unknown
dateutil: 2.8.0
docker-py: Not Installed
gitdb: 4.0.5
gitpython: 3.1.12
Jinja2: 2.11.3
libgit2: Not Installed
M2Crypto: Not Installed
Mako: 1.1.4
msgpack: 1.0.2
msgpack-pure: Not Installed
mysql-python: Not Installed
pycparser: 2.19
pycrypto: Not Installed
pycryptodome: 3.9.8
pygit2: Not Installed
Python: 3.7.12 (default, May 13 2022, 19:05:09)
python-gnupg: 0.4.4
PyYAML: 5.4.1
PyZMQ: 18.0.1
smmap: 3.0.2
timelib: 0.2.4
Tornado: 4.5.3
ZMQ: 4.3.1
System Versions:
dist: darwin 21.5.0
locale: UTF-8
machine: x86_64
release: 21.5.0
system: Darwin
version: 12.4 x86_64
It should have a dir_mode
argument, same as file.managed
. Definite bug here.