Strange Behavior In Recursive File Transfer

37 views
Skip to first unread message

Jon Forrest

unread,
Sep 15, 2012, 9:06:29 PM9/15/12
to puppet...@googlegroups.com
I have the following resource definition:

class itbuilder
{
file
{
"/home/itbuilder":
ensure => directory,
recurse => true,
source => "puppet:///itbuilder/home/itbuilder",
require => User ["itbuilder"],
owner => itbuilder,
group => itbuilder,
ignore => ".svn";
}
}

In the modules/itbuilder/files/home/itbuilder directory I
have a whole bunch of files and directories. The directories
have protections like

drwxr-xr-x 4 jforrest jforrest 4096 Sep 15 16:21 licensing
drwxr-xr-x 4 jforrest jforrest 4096 Sep 15 16:21 login

However, when I run the class above, these directories are
created as

drwxr-sr-x 3 itbuilder itbuilder 4096 Sep 15 17:48 licensing
drwxr-sr-x 3 itbuilder itbuilder 4096 Sep 15 17:48 login

Note the setguid bit. I don't know where this is coming from.
The protection of the directory containing these files is

$ ls -ld .
drwxr-x--- 22 itbuilder itbuilder 4096 Sep 15 17:48 .

which is correct.

I can manually change the directory permission to 0755

$ chmod g-s l*
$ ls -ld l*
drwxr-xr-x 4 jforrest jforrest 4096 Sep 15 16:21 licensing
drwxr-xr-x 4 jforrest jforrest 4096 Sep 15 16:21 login

But when I run puppet again, the permissions are
set back to 02755. What is setting the setguid bit?
I don't understand this at all. I thought this might
be set by something in a higher scope but I couldn't find it.

Adding

File
{
mode => 644,
}

to the class makes the problem go away but this really
isn't a solution.

Any ideas what might be causing this?

Cordially,
Jon Forrest




Reply all
Reply to author
Forward
0 new messages