Puppet 频繁将目录所有权从“用户”更改为“用户”

Puppet 频繁将目录所有权从“用户”更改为“用户”

我在 Puppet 仪表板中看到许多消息,表明发生了更改,将组的所有权从“用户”更改为“用户”。这似乎与两次存在的组“用户”有关,一次是本地的组 ID 为 100,一次是组 ID 为 3000。

[root@tst-01 ~]# puppet agent --test
info: Caching catalog for tst-01.tst.domain.tld
info: Applying configuration version '1370937308'
notice: /File[/var/opt/dolphin]/group: group changed 'users' to 'users'
notice: Finished catalog run in 3.41 seconds
[root@tst-01 ~]#

[root@puppetmaster ~]# cat init.pp
class dolphin {
    file { "/var/opt/dolphin":
        ensure => "directory",
        owner  => "dolphin",
        group  => "users",
        mode   => 755,
    }
}
[root@puppetmaster ~]#

[root@tst-01 audit]# grep -A2 dolphin-own audit.log
type=SYSCALL msg=audit(1370894388.610:49571): arch=c000003e syscall=94 success=yes exit=0 a0=4e96770 a1=ffffffff a2=64 a3=8 items=1 ppid=1 pid=1687 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="puppetd" exe=2F7573722F62696E2F72756279202864656C6574656429 subj=system_u:system_r:puppet_t:s0 key="dolphin-own"
type=CWD msg=audit(1370894388.610:49571):  cwd="/"
type=PATH msg=audit(1370894388.610:49571): item=0 name="/var/opt/dolphin" inode=110 dev=fd:02 mode=040755 ouid=3550 ogid=3000 rdev=00:00 obj=system_u:object_r:var_t:s0
--
type=SYSCALL msg=audit(1370896195.626:49596): arch=c000003e syscall=94 success=yes exit=0 a0=4de42c0 a1=ffffffff a2=bb8 a3=8 items=1 ppid=1 pid=1687 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="puppetd" exe=2F7573722F62696E2F72756279202864656C6574656429 subj=system_u:system_r:puppet_t:s0 key="dolphin-own"
type=CWD msg=audit(1370896195.626:49596):  cwd="/"
type=PATH msg=audit(1370896195.626:49596): item=0 name="/var/opt/dolphin" inode=110 dev=fd:02 mode=040755 ouid=3550 ogid=100 rdev=00:00 obj=system_u:object_r:var_t:s0
--
type=SYSCALL msg=audit(1370917877.149:49861): arch=c000003e syscall=94 success=yes exit=0 a0=489a5f0 a1=ffffffff a2=64 a3=8 items=1 ppid=1 pid=1687 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="puppetd" exe=2F7573722F62696E2F72756279202864656C6574656429 subj=system_u:system_r:puppet_t:s0 key="dolphin-own"
type=CWD msg=audit(1370917877.149:49861):  cwd="/"
type=PATH msg=audit(1370917877.149:49861): item=0 name="/var/opt/dolphin" inode=110 dev=fd:02 mode=040755 ouid=3550 ogid=3000 rdev=00:00 obj=system_u:object_r:var_t:s0
--
type=SYSCALL msg=audit(1370919683.974:49886): arch=c000003e syscall=94 success=yes exit=0 a0=6072510 a1=ffffffff a2=bb8 a3=8 items=1 ppid=1 pid=1687 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="puppetd" exe=2F7573722F62696E2F72756279202864656C6574656429 subj=system_u:system_r:puppet_t:s0 key="dolphin-own"
type=CWD msg=audit(1370919683.974:49886):  cwd="/"
type=PATH msg=audit(1370919683.974:49886): item=0 name="/var/opt/dolphin" inode=110 dev=fd:02 mode=040755 ouid=3550 ogid=100 rdev=00:00 obj=system_u:object_r:var_t:s0
[root@tst-01 audit]#

[root@tst-01 ~]# getent group | grep users
users:x:100:
users:*:3000:
[root@tst-01 ~]#

看起来 Puppet 大部分时间都不会改变所有权。Puppet 每天运行 48 次,其中每天大约 6-8 次会改变此目录的所有权。是什么让 Puppet 在组 ID 100 和 3000 之间做出选择,解决这个问题的最佳方法是什么?

答案1

您有一个重复的组名,因此所有赌注都无效。 puppet将会调用getgrnam(3),在组名重复的情况下将返回其中一个:无法知道您会得到什么。

重复的组名在各种方面都是一件坏事,最明显的是您不确定如何解释文件上的权限。

相关内容