salt: file.recurse breaks directory permissions
Description of Issue/Question
A normal file.recurse state results in broken permissions of the managed directory.
Steps to Reproduce Issue
Use a state such as:
/home/foo/.hooks:
file.recurse:
- source: salt://users/files/hooks
- user: foo
- group: foo
- dir_mode: 2755
- file_mode: 755
which creates the following directory:
/home/foo# ls -lah
total 32K
drwxr-x--- 5 foo foo 4.0K Jul 26 09:00 .
drwxr-xr-x 4 root root 4.0K Jul 26 08:59 ..
...
dr-x--xrwt 3 foo foo 4.0K Jul 26 09:00 .hooks
...
I had to add an explicit file.directory state for /home/foo/.hooks to get correct (and sensible) permissions.
Versions Report
# salt-minion --versions-report
Salt Version:
Salt: 2016.3.1
Dependency Versions:
cffi: 0.8.6
cherrypy: Not Installed
dateutil: 2.2
gitdb: Not Installed
gitpython: Not Installed
ioflo: Not Installed
Jinja2: 2.7.3
libgit2: Not Installed
libnacl: Not Installed
M2Crypto: Not Installed
Mako: Not Installed
msgpack-pure: Not Installed
msgpack-python: 0.4.2
mysql-python: 1.2.3
pycparser: 2.10
pycrypto: 2.6.1
pygit2: Not Installed
Python: 2.7.9 (default, Mar 1 2015, 12:57:24)
python-gnupg: Not Installed
PyYAML: 3.11
PyZMQ: 14.4.0
RAET: Not Installed
smmap: Not Installed
timelib: Not Installed
Tornado: 4.2.1
ZMQ: 4.0.5
System Versions:
dist: debian 8.5
machine: x86_64
release: 3.16.0-4-amd64
system: Linux
version: debian 8.5
# salt --versions-report
Salt Version:
Salt: 2016.3.1
Dependency Versions:
cffi: 0.8.6
cherrypy: Not Installed
dateutil: 2.2
gitdb: 0.5.4
gitpython: 0.3.2 RC1
ioflo: Not Installed
Jinja2: 2.7.3
libgit2: Not Installed
libnacl: Not Installed
M2Crypto: Not Installed
Mako: Not Installed
msgpack-pure: Not Installed
msgpack-python: 0.4.2
mysql-python: 1.2.3
pycparser: 2.10
pycrypto: 2.6.1
pygit2: Not Installed
Python: 2.7.9 (default, Mar 1 2015, 12:57:24)
python-gnupg: Not Installed
PyYAML: 3.11
PyZMQ: 14.4.0
RAET: Not Installed
smmap: 0.8.2
timelib: Not Installed
Tornado: 4.2.1
ZMQ: 4.0.5
System Versions:
dist: debian 8.5
machine: x86_64
release: 3.16.0-4-amd64
system: Linux
version: debian 8.5
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 18 (18 by maintainers)
Commits related to this issue
- Add integration test for #34945 — committed to terminalmage/salt by terminalmage 8 years ago
- file.recurse: Do not convert octal mode string to int When we run file.makedirs_perms to create the dest directory, we pass through the mode to file.check_perms. However, file.check_perms expects an ... — committed to terminalmage/salt by terminalmage 8 years ago
- file.recurse: Do not convert octal mode string to int (#35309) * Add integration test for #34945 * file.recurse: Do not convert octal mode string to int When we run file.makedirs_perms to creat... — committed to saltstack/salt by deleted user 8 years ago
No prob! Thank you for helping me troubleshoot, and for helping uncover a corner case that looks to have been introduced nearly 4 years ago. (!!!)
👍 to @babilen
Thank you very much!