On Wed, 1 Oct 2008, Darren J Moffat wrote:

> I'm moving this discussion over to security-discuss where it is more
> appropriate now since it is about privileges.

I haven't seen any more on this thread. As I mentioned, I'm using modperl,
so for now I simply added in a PerlPostConfigRequire configuration
directive that runs a script containing

        `/usr/bin/ppriv -s I+file_chown_self $$`

during server initialization, which is a little kludgy but seems to get the
job done.

If you happen to find out if there is a way to do this within the SMF
manifest itself I'd appreciate a heads up...

Thanks much...


> Paul B. Henson wrote:
> > On Tue, 23 Sep 2008, Darren J Moffat wrote:
> >
> >> Run the "service" with the file_chown privilege.  See privileges(5),
> >> rbac(5) and if it runs as an SMF service smf_method(5).
> >
> > Thanks for the pointer. After reviewing this documentation, it seems that
> > file_chown_self is the best privilege to delegate, as the service account
> > only needs to give away the filesystems it has created to the appropriate
> > owner, it should never need to arbitrarily chown other things.
> >
> > I'm actually running a separate instance of Apache/mod_perl which exposes
> > my ZFS management API as a web service to our central identity management
> > server. So it does run under SMF, but I'm having trouble getting the
> > privilege delegation to the way I need it to be.
> >
> > The method_credential option in the manifest only seems to apply to the
> > initial start of the service. Apache needs to start as root, and then gives
> > up the privileges when it spawns children. I can't have SMF control the
> > privileges of the initial parent Apache process or it won't start.
> >
> > Started with full privileges, the parent process looks like:
> >
> >         E: all
> >         I: basic
> >         P: all
> >         L: all
> >
> > And the children:
> >
> > flags = <none>
> >         E: basic
> >         I: basic
> >         P: basic
> >         L: all
> >
> > I manually ran 'ppriv -s I+file_chown_self' on the parent Apache process,
> > which resulted in:
> >
> > flags = <none>
> >         E: all
> >         I: basic,file_chown_self
> >         P: all
> >         L: all
> >
> > And the children:
> >
> > flags = <none>
> >         E: basic,file_chown_self
> >         I: basic,file_chown_self
> >         P: basic,file_chown_self
> >         L: all
> >
> >
> > Which worked perfectly. Is there any syntax available for the SMF manifest
> > that would allow starting the original process with all privileges, but
> > configure the inheritable privileges to include the additional
> > file_chown_self?
> >
> > If not, the only other option I can think of offhand is to put together a
> > small Apache module that runs during server initialization and changes the
> > inheritable permissions before the children are spawned.
> >
> > Thanks...
> >
> >
>
>
>

-- 
Paul B. Henson  |  (909) 979-6361  |  http://www.csupomona.edu/~henson/
Operating Systems and Network Analyst  |  henson at csupomona.edu
California State Polytechnic University  |  Pomona CA 91768

Reply via email to