
Возможно ли запустить несколько агентов Puppet с разными правами пользователя на одном хосте?
У меня есть сервер, который должен администрироваться двумя не связанными между собой пользователями через Puppet. (одна учетная запись пользователя для разработчика и одна учетная запись root для команды сервера)
решение1
Некорневая учетная запись может просто запустить puppet agent --one-time --no-daemonize
и любую другую разновидность puppet agent
.
Конфигурация и постоянные данные будут найдены и сохранены в
~/.puppet/
для Puppet 3.x и старше~/.puppetlabs/
для Puppet 4.x и более поздних версий
В чем вы хотите убедиться с помощью ~/.puppet/puppet.conf
:
- вы используете отдельную
certname
настройку для вторичного агента - Вероятно, вы также захотите использовать альтернативный вариант,
server
чтобы сертификат не был доверенным для вашего основного мастера (да, вам понадобится новый мастер Puppet, если вы этого хотите) vardir
и его дочерние элементы, такие какssldir
и ,statedir
отличны от центрального расположения системы и доступны для записи пользователю (это безопаснее всегонетчтобы вообще к ним прикасаться - значения по умолчанию вполне разумны; см. такжеpuppet agent --configprint all
).
Кроме того, манифест должен быть ограничен ресурсами, которыми может управлять непривилегированный агент, например:
- файлы, принадлежащие пользователю
- задания cron пользователя
- Ruby gems установлены в домашнем каталоге пользователя
и т. д.