All,

I am running into a little challenge with SMF and privileges and wanted
to get your opinion.  The NTP service normally requires the following
privileges:

basic,!file_link_any,!proc_info,!proc_session,net_privaddr,proc_lock_memory,
proc_priocntl,sys_resource,sys_time

By default, Solaris zones do not provide proc_priocntl and sys_time.

If you want NTP to set the system clock you need sys_time and likely 
proc_priocntl, but there are cases when you may want to run NTP in a
non-global zone and not set the system clock.

This should not be a problem, except that today if you specify the
above privilege list as part of NTP's start/privileges method, the
service fails to start as a result of a setppriv error - since the
sys_time and proc_priocntl privileges are not available.

Ideally, the application should decide whether or not it can run with
the privileges it is given - not SMF.  In this case, the application
would happily run but SMF is never starting it because the privileges
as defined do not all exist in the zone.

My question:

1. What are your thoughts on a concept of start/optional_privileges?

or

2. Only passing to the start method only the intersection of
start/privileges with the "max" privileges available to SMF ("all" in
GZ or "zone" in NGZ) and then just allowing the application to decide
if it can run.  I am sure start/limit_privileges needs to be figured
in as well.

Honestly, I think I prefer the second method, but wanted to get your
feedback.  This is a problem since otherwise, you would need two
difference manifests or at least instances one for GZ and one for
NGZ which is architecturally inelegant.

Lastly, is anyone aware of other services such as NTP where this
issue would arise?

g

Reply via email to