File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -161,8 +161,8 @@ def chmod(mode, path)
161
161
def replace_file ( path , mode = nil )
162
162
begin
163
163
stat = lstat ( path )
164
- gid = stat . gid
165
- uid = stat . uid
164
+ gid = Puppet :: Type . type ( :group ) . new ( name : Puppet [ :group ] ) . exists? ? Puppet [ :group ] : stat . gid
165
+ uid = Puppet :: Type . type ( :user ) . new ( name : Puppet [ :user ] ) . exists? ? Puppet [ :user ] : stat . uid
166
166
mode ||= stat . mode & 0o7777
167
167
rescue Errno ::ENOENT
168
168
mode ||= 0o640
Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ def save(request)
26
26
basedir = File . dirname ( file )
27
27
28
28
# This is quite likely a bad idea, since we're not managing ownership or modes.
29
- Dir . mkdir ( basedir ) unless Puppet ::FileSystem . exist? ( basedir )
29
+ touch_dir ( basedir ) unless Puppet ::FileSystem . exist? ( basedir )
30
30
31
31
begin
32
32
Puppet ::Util ::Yaml . dump ( request . instance , file )
@@ -59,6 +59,15 @@ def search(request)
59
59
60
60
protected
61
61
62
+ def touch_dir ( dir )
63
+ Dir . mkdir ( dir )
64
+
65
+ user = Puppet ::Type . type ( :user ) . new ( name : Puppet [ :user ] ) . exists? ? Puppet [ :user ] : nil
66
+ group = Puppet ::Type . type ( :group ) . new ( name : Puppet [ :group ] ) . exists? ? Puppet [ :group ] : nil
67
+ Puppet . debug ( "Fixing perms for #{ user } :#{ group } on #{ dir } " )
68
+ FileUtils . chown ( user , group , dir ) if user || group
69
+ end
70
+
62
71
def load_file ( file )
63
72
Puppet ::Util ::Yaml . safe_load_file ( file , [ model , Symbol ] )
64
73
end
You can’t perform that action at this time.
0 commit comments