<p>Thank you greatly for the well worded and well thought out response/update on the situation. In a thread of what was essentially a flame war, it is nice to see something constructive and meaningful emerge from the ashes.  </p>

<p>-Adam (From Android - CM)</p>
<p><blockquote type="cite">On Nov 19, 2009 8:30 PM, "Owen Taylor" <<a href="mailto:otaylor@redhat.com">otaylor@redhat.com</a>> wrote:<br><br>I wanted to provide an update to the list on the current thinking about<br>

the PackageKit policy issue from the perspective of the people working<br>
on the core desktop packages and on the desktop user experience.<br>
<br>
There was informal meeting earlier today with Richard Hughes, and<br>
myself, and a couple of people who could provide help with big-picture<br>
Fedora issues like Bill Nottingham and Jesse Keating, to try and figure<br>
out if there were obvious steps to take in the short term.<br>
<br>
Obviously there are lots and lots of people who care deeply about this,<br>
and there are discussions that need to continue, but with the delay in<br>
getting packages built, tested, and pushed out, we thought there were<br>
advantages to jump-starting things. If there was something obvious, then<br>
it made sense for the package maintainer (Richard) to just do it.<br>
<br>
I'm writing this mail somewhat by default: the people who really matter<br>
are the maintainers of the relevant packages, but Richard has gone to<br>
bed, and David Zeuthen and Matthias Clasen are on vacation this week.<br>
I'll try to reflect what they would say; much of it is certainly my own<br>
personal take on things instead.<br>
<br>
- Owen<br>
<br>
Where the Fedora 12 policy came from<br>
====================================<br>
<br>
In Fedora 9, 10, and 11, the first time a user tried to install a<br>
package from the Fedora repositories, they would be prompted for a root<br>
password, with a checkbox to remember that permission for the future.<br>
(Before Fedora 9, you had to enter the root password every time.)<br>
<br>
We weren't really fully happy with this; this was basically asking the<br>
user to construct their own security policy. And not only that, but do<br>
it dialog-by-dialog, permission-by-permission as they tried to set up<br>
their Fedora system and get on with their life.<br>
<br>
>From a more general perspective, the end effect of putting up a lot of<br>
dialogs:<br>
<br>
+-------------------------------+<br>
|                               |<br>
| < A complicated explanation > |<br>
|                               |<br>
|  Root password [           ]  |<br>
|                               |<br>
|                    [  OK   ]  |<br>
+-------------------------------+<br>
<br>
is that you are training users to blindly enter the root password and<br>
hit OK, *not* something that enhances the overall security of the<br>
system.<br>
<br>
There is an obvious better way to do this, which is to figure out<br>
what the appropriate roles are for the system: adminstrative users,<br>
non-adminstrative users, etc., and let the person maintaining system<br>
decide who gets what role.<br>
<br>
So, David Zeuthen did a major redesign of PolicyKit to move it from<br>
the old "remembered permissions" policy, to a model where users could be<br>
assigned different roles. See:<br>
<br>
<a href="https://www.redhat.com/archives/fedora-desktop-list/2009-August/msg00103.html" target="_blank">https://www.redhat.com/archives/fedora-desktop-list/2009-August/msg00103.html</a><br>
<br>
For some more details about how it works.<br>
<br>
The idea was that the change in PolicyKit would be accompanied by a<br>
default set of roles, and a nice user interface for assigning users to<br>
roles. Unfortunately, with the constraints of time, it became clear that<br>
this all (and especially the GUI) wasn't going to be there for Fedora<br>
12. So, PackageKit needed a fixed policy for all users. For each action<br>
(install signed packages, install unsigned packages, remove packages,<br>
etc.), it needed to allow, deny, or ask for the root password.<br>
<br>
Among the decisions Richard made was allowing all users to install<br>
signed packages from the Fedora repositories. This was clearly the right<br>
behavior for the common case of a single-user system, where the only<br>
user is also the administrator. And it seemed pretty safe: Fedora isn't<br>
supposed to have packages in it that are dangerous to install. (For<br>
example, by policy, all network services must be off by default and not<br>
enabled by simply installing a package.)<br>
<br>
The reaction (why that probably wasn't the best choice)<br>
=======================================================<br>
<br>
There's obviously been a lot of feedback on this list and in other<br>
forums about this approach. And a lot of good points have brought up.<br>
<br>
Probably the most important one is a bit obvious in hindsight: Fedora is<br>
used on a wide variety of systems, and in some of those - like a shared<br>
home system with parents and young children, or like a computer lab<br>
system - there are some users who shouldn't be able to change what is<br>
installed on the system. Even if installing those packages isn't a<br>
security hole.<br>
<br>
The other thing that is clear from the discussion is that we didn't do<br>
nearly enough communication about the change. I think was partly because<br>
the changes *weren't* finished. A rewrite of PolicyKit wasn't a feature<br>
in itself; the feature would have been the accounts dialog, which we<br>
didn't do for Fedora 12. But clearly the changes we did do had some<br>
major impacts that needed to be advertised.<br>
<br>
And while there are great low-level docs with all the details about<br>
PolicyKit configuration (see polkit(8) for a starting point to the<br>
docs), we didn't have the simple instructions for changing basic system<br>
policy.<br>
<br>
Moving forward from here<br>
========================<br>
<br>
After talking things through a bit, the consensus was that we need to<br>
take a course that's conservative for Fedora 12. To do something that<br>
is safe for almost all uses of Fedora, if a bit less convenient.<br>
<br>
So, what Richard is planning is an update to PackageKit that changes the<br>
policy so that the root password will be required for package<br>
installation. We should have this out in fedora-updates quite soon;<br>
hopefully tomorrow.<br>
<br>
Once we get that out, we'll also make sure that there is documentation<br>
available about how you can configure some users to be able to install<br>
software without having to type the root password every time.<br>
<br>
In upcoming Fedora releases, we expect to finish both the default set of<br>
policy roles and the user interface components to provide the full<br>
experience that was originally planned.<br>
<br>
Executive summary<br>
=================<br>
<br>
We'll make an update to the F12 PackageKit, so that the root password is<br>
required to install packages.<br>
<font color="#888888"><br>
<br>
--<br>
fedora-devel-list mailing list<br>
<a href="mailto:fedora-devel-list@redhat.com">fedora-devel-list@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/fedora-devel-list" target="_blank">https://www.redhat.com/mailman/listinfo/fedora-devel-list</a><br>
</font></blockquote></p>