Recently, the issue of copying file modes from remote sources was discussed 
on the puppet-users mailing list[1], although it equally applies to owner 
and group.

One issue is what permissions to apply to newly created files when none are 
specified? Historically, Puppet has always copied the permissions from the 
file source to the newly created one. However, this causes problems on 
Windows[2] agents due to the way that Puppet emulates POSIX permissions. We 
break NTFS access control inheritance to ensure the effective permissions 
are not greater than what Puppet has granted. It also causes problems on 
*nix agents, when the files' source is remote and uid/gids are not 
synchronized.

A second, but related issue, is that Puppet applies the same 
copy-permissions logic to files that already exist. This goes against what 
jcbollinger said, "unmanaged resources and resource properties should not 
be modified by Puppet"[3], and what Nigel said, "A core principle of Puppet 
is that you can choose to only manage the attributes of a resource that you 
care about, and can leave the rest unmanaged."[4] However, this "bug" has 
been around so long, at least 0.24.8, that we can't change behaviors in a 
minor release.[5]

Patrick and I talked about this and would like to propose adding a file 
parameter, something like `use_source_permissions`. If true and permissions 
are unspecified, Puppet would continue copying source permissions as it 
does today, for both newly created and existing files. This would be the 
default.

If false and permission are unspecified, Puppet would never copy them from 
the source. Instead the permission defaults for newly created files would 
be based on the user that Puppet is running as. And the permissions for 
existing files would be unmodified.

Doing so would provide a mechanism for resolving both #5240 and #18931.

Comments and feedback welcome.

Josh

[1] 
https://groups.google.com/forum/#!msg/puppet-users/CI7pEUHknm4/x-hCGJn6Ms8J
[2] https://projects.puppetlabs.com/issues/18931
[3] https://groups.google.com/d/msg/puppet-users/CI7pEUHknm4/VtCl9YmeIS0J
[4] http://projects.puppetlabs.com/issues/5240#note-16
[5] https://projects.puppetlabs.com/issues/5240

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" 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-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to