Я только что куколизировал 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