Issue #18931 has been updated by Josh Cooper.
This ticket resulted from the discussion on puppet-dev: <https://groups.google.com/d/topic/puppet-users/CI7pEUHknm4/discussion>. Also see discussion on #5240. The current behavior breaks file inheritance, without any way to "not do that". But puppet windows agents behave the same as unix agents, and people may be relying on the current behavior, so we cannot change the behavior in a dot release. I think we will need to add a puppet setting to control which file properties from copied from the remote file to the local one. On Unix, we currently copy owner, group and mode. On Windows, we copy mode, but only if the file is remote. >From the method `copy_source_values` in `lib/puppet/type/file/source.rb`: <pre> if Puppet.features.microsoft_windows? next if [:owner, :group].include?(metadata_method) and !local? end </pre> Simply changing that to the following, will ensure puppet on windows never applies the owner, group, or mode from the source file. <pre> if Puppet.features.microsoft_windows? next if [:owner, :group, :mode].include?(metadata_method) end </pre> ---------------------------------------- Feature #18931: Don't set mode on existing Windows folders when none is specified https://projects.puppetlabs.com/issues/18931#change-82672 Author: Nick Chappell Status: Accepted Priority: Normal Assignee: Category: file Target version: Affected Puppet version: Keywords: windows Branch: Current behavior: If a folder resource is declared with a source => parameter but no mode specified, the mode of the source folder on the master is applied to it. On Windows, this means that the mode is converted from POSIX to an equivalent set of Windows file permissions, which can break existing ACLs and inheritance. Desired behavior: If a folder already exists on the node and is merely having files placed in it by Puppet, the mode shouldn't be changed if none is specified in the manifest. A more complete solution would be the ability to specify NTFS ACLs directly, but this should alleviate problems caused by unexpected behavior in the mean time. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
