On Tue, 15 Jan 2008, Darren J Moffat wrote:
> David Chieu wrote:
> > Interface Type Comments
> > --------------------------------------------------------------------------
> > can.suspend bool The ability to suspend as determined
> > by uadmin(2).
>
> > can.hibernate bool The ability to hibernate as determined
> > by uadmin(2).
>
> For Solaris on SPARC and x86 what are these likely to return ?
>
> I think that on (supported) x86 systems can.suspend could return true because
> that maps to ACPI S3, but currently can.hibernate will never be true. However
> on SPARC can.hibernate could be true but can.suspend would never be true. Is
> that correct ?
"Never" is a long time, but currently can.hibernate will return true
on x86 and can.suspend will return false on sparc. In this context,
'suspend' equates to entering S3, and hibernate equates to entering
S4.
>
> One of the reasons I think this is very important is because of my issue below
> about the authorisations.
>
> >
> > The following RBAC authorizations and profiles will be added.
> >
> > Authorization Names:
> > solaris.system.power.:::System Power Management::help=SystemPowerMgmt.html
> > solaris.system.power.suspend::: Suspend the System::help=Suspend.html
> > solaris.system.power.suspend.ram::: Suspend to RAM::help=SuspendToRam.html
>
> Why does suspend to RAM need its own authorisation yet hibernate does not, ie
> what is the security difference between suspended to RAM versus any other type
> of suspend ?
The choice here centered around the the question: Is there a reason
to differentiate between auths for S3 and S4?
Effectively, we believe that if a user has the privilege to do an
S4, then he also has the privilege to do an S3. Partially because the
state transition to S4 functionally goes to S3 first. But also
because we considered the possible security considerations.
In S3, system state is entirely held in RAM, and will always be
contained in the running machine. If power is lost, state is lost.
In S4, system state is first put to RAM (i.e. enter S3), and then
written to disk, and could be saved for a long time. This image
contains eveything this was contained in RAM (including the
possibility decrypted data that would othewise not be on the disk) and
*could* be:
Viewed by someone who might get physical access to the image
Copied to another machine for viewing as above
Used to continue the system on a different hardware for
further viewing.
What we concluded from this is that it might be desireable to allow
S3 and not S4, but not the opposite. This led us to the heirarcical
auth:
solaris.system.power.suspend == allows both S3 and S4
solaris.system.power.suspend.ram == only allows S3
Going back to the 'can.*' comments above, for a user to currently
suspend a Sparc they must have solaris.system.power.suspend, and
adding 'ram' would prevent the user from suspending Sparc but not x86.
---- Randy