Puppet Agent - sudo로 시작

Puppet Agent - sudo로 시작

Puppet 에이전트를 시작하는 데 문제가 있습니다. 에이전트가 Puppet Master를 푸시하는 대신 구성을 가져오도록 하기 위해 --onetime 매개변수와 함께 에이전트를 사용할 것입니다.

Debian 호스트의 마스터와 에이전트 모두에 Puppet 버전 2.73을 사용하고 있습니다.

저는 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

루트로 동일한 작업을 수행하면 문제가 없습니다.

sudo 명령을 사용하여 에이전트를 실행하는 것이 불가능할 수 있다고 언급한 일부 Puppet Labs 문서(지금은 찾을 수 없음)를 읽었습니다.

제 질문은: sudo를 실행하여 권한이 없는 사용자로 puppet 에이전트를 실행할 수 있습니까? 그렇다면 sudoers 파일을 수정해야 한다고 가정할 때 어떤 종류의 변경을 수행해야 합니까?

이것이 가능하지 않다면 누구든지 1) 한 번에 하나의 호스트에서만 Puppet 에이전트를 실행하여 구성을 가져오고 2) 이 작업을 기록하는 몇 가지 대안을 제안할 수 있습니까?

답변1

"한 번에 하나의 호스트"라는 요구 사항을 얻지 못했습니다. Puppet은 한 번에 여러 Puppet 에이전트 실행을 완벽하게 제공하고 기록할 수 있습니다.

환경 문제인지 확인하려면 를 실행하세요 sudo -i <command>.

어쨌든, 푸시 모드에서 Puppet을 사용하는 것이 귀하의 요구에 더 적합할 수 있습니다. 먼저 재구성해야 하는 puppet 에이전트는 puppetmaster의 연결을 수신하여 puppet 실행을 시작합니다.

puppet kickpuppetmaster를 실행하면 이 작업을 수행할 수 있습니다 .

종이 추적은 마스터에 업로드된 클라이언트 보고서와 syslog 서버에 대한 auditd(클라이언트와 마스터 모두) 로깅에 의해 생성됩니다(sudo의 로깅은 그렇지 않습니다).저것신뢰할 수 있음) 명령 실행을 추적합니다.

관련 정보