[chef] Template resource: default value for mode attribute?


Chronological Thread 
  • From: Faiz Kazi < >
  • To:
  • Subject: [chef] Template resource: default value for mode attribute?
  • Date: Fri, 3 Jun 2011 11:34:21 +0900
  • Organization: DreamArts Corporation


It appears that if one does not specify a mode,
files generated/overwritten by template resources
end up having permissions like -rw------- (0600).

This seems like a sane default. But maybe the
documentation should make this explicit. 
Right now, the template resource wiki page
http://wiki.opscode.com/display/chef/Resources#Resources-Template
reads:

Attribute:      mode
Description:    "The octal mode of the file - 0755"
Default Value:  (nothing here)

Take for example the simple case of managing /etc/hosts.
This file usually has permissions -rw-r--r--.

template '/etc/hosts'
  source 'hosts.erb'
end

.. will overwrite /etc/hosts as expected, but if one
forgets to pass in the mode attribute, '/etc/hosts'
ends up as readable only by root (i.e., -rw-------).

This is not really a major problem (I simply make sure
to pass in a mode explicitly).
but as a suggestion:

(1) For existing files that get 'templated', 
chef-client could just leave the permissions untouched.

OR

(2) Fix the docs to make it very clear that unless
one specifies a mode explicitly, the file 
created/overwritten by the template will end up
with the default mode (and that the default 
mode is 0600, not 0755)


For the record, I'm still running 0.9.16.

Thanks,
Faiz






Archive powered by MHonArc 2.6.16.

§