Puppet-mysql 组的 groupid(gid)在 prod 和 dev 之间有所不同

Puppet-mysql 组的 groupid(gid)在 prod 和 dev 之间有所不同

我刚刚将 mysql 傀儡化,然后遇到了一个奇怪的问题,即开发环境中 mysql 组的 gid 与生产环境中的 gid 不同。显然,在生产环境中,我有一个在开发环境中不存在的用户,并且目前正在声明我希望用于 mysql 组的 gid。

我的问题是,无论在什么环境下,确保用户/组排队的最佳方法是什么?我读过一些文章,其中通常的做法是从 uid/gid @ 1000 开始。如果我强制执行此做法并更改现有的 uid/gid,这会对我的服务器造成严重破坏吗?

我还考虑过更改声明我希望使用的 gid 的用户的 gid,但想看看是否有解决这种情况的最佳实践。

- 更新 -

呃,可以看出今天是星期一。发生冲突的不是 gid,而是 uid:

class user::mysql inherits user {

    include group::logger
    include group::mysql

    user { 'mysql':
        gid         => 'mysql',
        groups      => [ 'logger' ],
        managehome  => false,
        membership  => 'inclusive',
        require     => Class['group::mysql'],
        shell       => '/sbin/nologin',
        uid         => '498'
    }

    Class['group::logger']->Class['user::mysql']
}

上述问题仍然有意义:

“无论在什么环境下,确保用户/群组排队的最佳方法是什么?”

“如果我强制执行这种做法并改变现有的 uid/gid,这会对我的服务器造成严重破坏吗?”

答案1

我猜你正在做类似的事情

group => 500,

mysql 的组 ID 在哪里 500?好吧,如果你不介意组 ID 不匹配,那么就使用名称

group => "mysql",

编辑

uid 也一样。如果你没有为用户指定一个,操作系统会为你选择一个。所以如果你不关心 uid 是否匹配,那么删除 uid 行

相关内容