Я - парень Redhat, таким образом, я не эксперт по SuSe, но на основе того хост SuSe, у меня есть доступ к SuSe, эквивалентному rc.sysinit
/etc/init.d/boot
rc.sysinit
(в системах Redhat), сценарий, который init называет для начинания процесса запуска.
В основном необходимо проверить Вас /etc/inittab
для строк, которые содержат sysinit
, boot
или bootwait
и это будет сценарий, указанный в одной из тех строк.
В системе SuSe у меня есть доступ к соответствующей строке в /etc/inittab
похож на это:
# First script to be executed, if not booting in emergency (-b) mode
si::bootwait:/etc/init.d/boot
Посмотрите man inittab
для получения дополнительной информации.
Если вы объявляете пользователей как виртуальные ресурсы , вы можете затем использовать «реализовать» или синтаксис коллекции (Пользователь <| ... |>). Вот пример:
@user { 'foo':
groups => ['somegroup'],
membership => minimum,
}
Затем представьте этого виртуального пользователя с синтаксисом коллекции then:
User <| title == foo |>
И в другом месте вы можете добавить к параметрам этого виртуального ресурса, используя добавочное обозначение:
User <| title == foo |> { groups +> "svn" }
Использование виртуальных ресурсов Puppet - правильный способ сделать это, но если вы не можете изменить определения пользователей и тем временем нуждаетесь в исправлении обходного пути, следующее будет ужасным и хакерским, но будет работать:
exec { 'foo somegroup membership':
unless => '/bin/grep -q "somegroup\\S*foo" /etc/group',
command => '/sbin/usermod -aG somegroup foo',
require => User['foo'],
}
По сути, мы просто проверяем, содержит ли некоторая группа пользователя foo ... если нет, используйте обычные команды usermod, чтобы добавить его в дополнение к существующим группам, которым принадлежит foo.
Спасибо - уродливый хакер, но он выполняет свою работу. Вот патчированный пример (объединяющий приведенные выше комментарии) для добавления nrpe в группу nagios. Я использовал пакет require, поскольку здесь пользователю предоставляется RPM, а не марионетка.
exec {"nrpe nagios membership":
unless => "/bin/getent group nagios|/bin/cut -d: -f4|/bin/grep -q nrpe",
command => "/usr/sbin/usermod -a -G nagios nrpe",
require => Package['nrpe'],
}