Puppet Agent - запускается как sudo
У меня проблемы с загрузкой моего агента Puppet. Я буду использовать агент с параметром --onetime, так как я хочу, чтобы агент извлекал его конфигурацию, а не нажимал Puppet Master.
Я использую Puppet версии 2.73 как для главного, так и для агента на хосте Debian.
Я нахожусь в среде, где каждое пользовательское действие в отношении выполнения агента Puppet должно быть записано, поэтому sudo кажется очевидным выбором для запуска агента Puppet.
Однако при запуске агента Puppet от имени sudo я получаю некоторые ошибки:
user@puppetagent$ sudo puppet agent --onetime
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/uname -s
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/hostname
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/uname -s
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/hostname
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/dnsdomainname
/usr/lib/ruby/vendor_ruby/puppet/util.rb:215: command not found: /bin/hostname
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/uname -s
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/uname -s
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/uname -s
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/uname -s
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/uname -s
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/uname -s
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/uname -s
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/uname -s
/usr/lib/ruby/vendor_ruby/facter/kernel.rb:14: command not found: /bin/uname -s
Could not prepare for execution: could not create PID file: /var/run/puppet/agent.pid
Когда я выполняю это же действие от имени root, проблем не возникает.
Я прочитал некоторую документацию по кукольным лабораториям (которую я сейчас не могу найти), в которой упоминалось, что запуск агента с помощью команды sudo может быть невозможен.
Итак, мой вопрос: возможно ли запустить агент puppet как непривилегированный пользователь, запустив sudo? Если это так, какие изменения я должен внести в файл sudoers, при условии, что это то, что нужно изменить.
Если это невозможно, может ли кто-нибудь предложить несколько вариантов: 1) запуска агента Puppet только на одном хосте за раз, чтобы конфигурация извлекалась, и 2) записи этого действия.
1 ответ
Я не получаю требование "один хост за раз". Puppet вполне способен обслуживать и записывать несколько прогонов кукольного агента за раз.
Просто чтобы исключить, что это проблема окружающей среды, запустите sudo -i <command>
,
В любом случае, использование Puppet в режиме push может более соответствовать вашим требованиям. Агент марионеток (который вам нужно сначала перенастроить) будет прослушивать соединение от мастера марионеток, заставляя его инициировать запуск марионеток.
Вы можете сделать это, запустив puppet kick
на марионетку.
Бумажный след генерируется отчетом клиента, который загружается на мастер-сервер, и аудит (на клиенте и на мастер-сервере) регистрируется на сервере системного журнала (протоколирование sudo не настолько надежно), отслеживая выполнение команды.