On Wed, May 7, 2014 at 4:07 PM, Drew Fisher <drewfisher...@gmail.com> wrote:

> Good afternoon!
>
> I'm trying to get RBAC working on Solaris 11.2 for Puppet 3.4.1.  Namely,
> I need to be able to list and sign waiting certificates as a non-root user
> (but with elevated RBAC permissions).  No matter what happens, I can not
> seem to get the @ca object that puppet/application/cert.rb uses to be
> generated from /etc/puppet.  It's always using my own home directory.
>  Tracing through the various classes and methods, I end up in
>
>
Just to clarify what you are doing. You are running "puppet cert list" as a
non-root user? This isn't some ruby code that you wrote to use the puppet
code as a library.

If that is the case, then I think all that you are seeing is that when
puppet is running as non-root it will use $HOME/.puppet as its confdir and
$HOME/.puppet/var as the $vardir. When puppet runs as root it will use
/etc/puppet and /var/lib/puppet. So one way of doing this is to specify
"--confdir /etc/puppet --vardir /var/lib/puppet" on the command line. You
may still hit file permission problems when it tries to read and write
files, but I suppose you are taking care of that with the RBAC system on
Solaris (I don't know the details of that system).


> [463, 468] in
> /usr/ruby/1.9/lib/ruby/vendor_ruby/1.9.1/puppet/ssl/certificate_authority.rb
>    463    def waiting?
> => 464
>  Puppet::SSL::CertificateRequest.indirection.search("*").collect { |r|
> r.name }
>    465    end
>
> <....>
>
> [99, 108] in
> /usr/ruby/1.9/lib/ruby/vendor_ruby/1.9.1/puppet/indirector/ssl_file.rb
>    99    end
>    100
>    101    # Search for more than one file.  At this point, it just returns
>    102    # an instance for every file in the directory.
>    103    def search(request)
> => 104      dir = collection_directory
>    105      Dir.entries(dir).
>    106        select  { |file| file =~ /\.pem$/ }.
>    107        collect { |file| create_model(file.sub(/\.pem$/, ''),
> File.join(dir, file)) }.
>    108        compact
>
> (rdb:1) p collection_directory
> "/home/dfisher/.puppet/ssl/ca/requests"
>
> Where collection_directory is my home directory rather that the 'puppet'
> user's (/etc/puppet)
>
> If anybody has any ideas on what's going on, I'd love to hear them.
>
> Thanks!
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-dev/276c8b73-eff2-4679-9914-3a805b403bf6%40googlegroups.com<https://groups.google.com/d/msgid/puppet-dev/276c8b73-eff2-4679-9914-3a805b403bf6%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Andrew Parker
a...@puppetlabs.com
Freenode: zaphod42
Twitter: @aparker42
Software Developer

*Join us at PuppetConf 2014 <http://www.puppetconf.com/>, September
22-24 in San Francisco*
*Register by May 30th to take advantage of the Early Adopter discount
<http://links.puppetlabs.com/puppetconf-early-adopter> **—**save $349!*

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/CANhgQXuTq1UPP2DMy51WAQk1h3o_ZnbQP%2BDX7BiRpT4BV%2BEdOw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to