Назад | Перейти на главную страницу

Puppet часто меняет владельца каталога с «пользователей» на «пользователей»

Я вижу много сообщений на панели инструментов Puppet, в которых говорится, что произошло изменение, в результате которого права собственности на группу были изменены с «пользователей» на «пользователей». Похоже, это связано с группой «пользователи», существующей дважды, один раз локально с идентификатором группы 100 и один раз с идентификатором группы 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 выбирать между идентификаторами группы 100 и 3000 и как лучше всего решить эту проблему?

У вас повторяющееся название группы, поэтому все ставки отключены. puppet буду звонить getgrnam(3), который в случае повторяющихся имен групп вернет одно или другое: нет способа сказать, что вы получите.

Повторяющиеся имена групп - это плохо во всех смыслах, наиболее очевидным из которых является то, что вы не знаете наверняка, как будут интерпретироваться разрешения для ваших файлов.