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

Puppet - groupid (gid) для группы mysql отличается между prod и dev

Я только что куколизировал mysql и столкнулся со странной проблемой, когда gid для группы mysql на dev отличается от производственной. По-видимому, на производстве у меня есть пользователь, которого нет в среде разработки, и в настоящее время он требует gid, который я хочу использовать для группы mysql.

Мой вопрос: как лучше всего обеспечить выстраивание пользователей / групп независимо от среды? Я прочитал несколько статей, в которых обычно запускают 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, это нанесет ущерб моим серверам?»

Я предполагаю, что вы делаете что-то вроде

group => 500,

Где 500 - это идентификатор группы mysql? Что ж, если вам все равно, что идентификаторы группы не совпадают, просто используйте имя

group => "mysql",

РЕДАКТИРОВАТЬ

То же самое и с uid ... если вы не укажете его для пользователя, ОС выберет его для вас. Так что, если вам все равно, что совпадение uid ... удалите строку uid