On 03/30/11 01:14 PM, Jack Schwartz wrote:
On 03/30/11 08:30 AM, Dave Miner wrote:
On 03/30/11 12:07 AM, Jack Schwartz wrote:
Hi Dave.

Thanks for taking a look.

On 03/29/11 16:00, Dave Miner wrote:
Jack, a couple of comments on the RBAC-related portion here:

usr/src/cmd/rbac/prof_attr.system%2Finstall%2Fauto-install
usr/src/cmd/rbac/user_attr.system%2Finstall%2Fauto-install

1. Is it necessary for some reason to define aiuser as a role for root?
I pulled that out, since root can do anything it wants and doesn't need
explicit permission to execute as aiuser.

Currently all that is now in user_attr is:
aiuser::::type=role;profiles=AIuser,Stop

(Note: Round-2 code review just went out.)

Originally I thought defining aiuser as a role for root would be useful
to document the root<->aiuser relationship, but thought about it more
and decided it was more confusing than helpful.
2. Won't it work to just place the auths that are in the profile
you've created directly on the aiuser user? If so, we can dispense
with the separate role.
Yes, it seems to work fine without the role.
3. I'm wondering if using the Stop profile is a good idea here. It
would seem to inhibit automatic inheritance of default
authorizations/profiles from a standard user environment, meaning we'd
have to be more aware of changes elsewhere in the system and have to
fiddle with this more often.
It is true that if changes to the Basic User profile were made that we
might have to add them to the AIuser profile. However, we may want to
pick and choose which new privileges to grant to the AIuser anyhow.

There are currently some given by the Basic User profile which are not
necessary and so are not given to AIuser. (The Stop profile disallows
these things from being enabled.) Some examples are running the profile
manager, sending mail, mounting removable devices and doing some usb
administration (not sure about the last one, it is
solaris.admin.wusb.read). So even though the profile is called "Basic",
these privileges are not always required.

However, the most basic privileges are granted to everyone (see
privileges(5)), and that alone is almost enough for AIuser. I don't see
the need to allow the AIuser to take on the Basic Solaris User profile.
Conceptually, I believe aiuser is essentially a normal user with some
elevated read privileges, which is what you've defined with the auths
Yes and no. Here's a summary of AIuser's privs:

- AIuser can do things that unprivileged users can do.

- The Basic Solaris User profile, enabled by default, is not enabled
because of the Stop profile.

- The AIuser profile adds reading of network configuration and SMF
properties.
(I'm wondering if there are more we need there, actually, but don't
have specific suggestions).
I used Stop to disable Basic Solaris User because I was told to tightly
restrict AIuser. What it really boils down to is this:

- Is it worth sacrificing restricting stuff like mounting removable
devices in exchange for more maintainability (by not using Stop)? Maybe
a little, but we still get the benefit of restricting the AIuser more
tightly.

- By using Stop we decouple the Basic Solaris User from AIuser. This
allows for finer granularity of control since adding something to the
Basic Solaris User doesn't automatically add it to the AIuser. Having to
add something to AIuser because it is added to the Basic Solaris User is
not what we want. This finer granularity is worth the small sacrifice in
maintainability.

(And besides, there are not very many items listed in Basic Solaris
User's profile so it isn't likely to require many changes in the
future.)

I consulted with someone on the RBAC team about this configuration
before finalizing it, and he helped me come up with this.

So it still seems cleanest to me to decouple using Stop, even though we
may have to add something occasionally to the AIuser if it gets added to
the Basic Solaris User and is deemed necessary for the AIuser to have.

Hopefully this email didn't get too wordy... Please reply if this
doesn't make sense or you want to discuss it further.


I'm unconvinced. The proposed implementation has swung the needle way
too far on the control side and not sufficiently weighed the impact on
usability and maintenance by diverging substantially from a Basic
Solaris User.

The point of the restrictions here is to prevent the script from
essentially implementing an alternate installer within the installer
(if someone wants to do that, their option is to build alternate media
with Distribution Constructor). Running it as a non-root user largely
accomplishes that; we only add some additional ability to read
portions of the environment that are more or less equivalent to what a
system administrator would have. Thus, the use of the Stop profile
seems counter-productive to the overall goals.

Dave
Thanks for the clarification. I thought the environment was to be
strictly read everything and that's it. This is why I removed mail, USB,
and other privs a basic user has which didn't have to do with reading
the system.

If I remove Stop from user_attr then the privs of the AIuser profile
will just get added to the Basic User privs, and when the Basic User
privs get updated so will the privs of AIuser accordingly. This sounds
like what you are asking for. I will do this unless I hear back from you
again.


Well, my other comment was that the profile seemed unnecessary, we could just place those auths on the user and dispense with delivering a profile since there's no reason we need that profile for other users. So it seems you can do that since we're not going to be using Stop.

Dave
_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to