Summary

Checkbox currently runs completely as root which is not appropriate default behaviour for most end-user cases. Ideally privileges should be elevated only where there is a specific need as defined in the test.

Rationale

Although running Checkbox through sudo has allowed us to work around permission related issues, this provides a "tainted" result as well as potentially exposing system vulnerabilities. The latter in particular will become more of a concern as we extend test coverage and incorporate community tests.

Ideally unless we are testing functionality or performing actions that requires root permissions, then all tests should be performed as the current user.

This will also allow us to address current issues with integrating LDTP/desktop tests into Checkbox, as they cannot (easily) be run as root.

Use Cases

Assumptions

Design

Implementation

Since there may be multiple, differing requests to elevate privileges in a single test session, individual tests should be evaluated early in the Checkbox process and authorisation step performed as a single action for all requirements.

This authorisation step needs to be performed immediately prior to tests being run.

If authorisation is declined or unsuccessful, the relevant tests should be skipped with an appropriate, informative comment.

UI Changes

Please see the CheckboxUI spec.

Test/Demo Plan

BoF agenda and discussion

Why are we running as root?

Run as root and drop down to the user or escalate privileges to root when necessary?

On server side there is an issue with no X. Look into ConsoleKit

How do we deal with package installation?


CategorySpec

QATeam/phillw/Specs/CheckboxPolicykit (last edited 2014-07-22 21:58:34 by host-80-41-221-66)