blog advertising is good for you


blog advertising is good for you
User login

Creating a "Power Users" group in OS X

One of the great dillemas of Mac admins is how to give users the ability to actually USE their machines, without the monkeys gumming up the works constantly. One of the easiest ways to do this is by using Open Directory. But what if you don’t have an Open Directory server?

Create a Power Users group. It gives users the ability to install the applications they want, without letting them modify things like network settings.

Working off of this tip from Mac OS X Hints, I created this method:

  1. Download the server tools, and put Workgroup Manager either local on your machine or on an external drive (I use my Shuffle)
  2. Open Workgroup Manager and edit the local directory
  3. Create a group called powerusers
  4. Nest the local Admin group in this group
  5. Edit /etc/authorization (I use Property List Editor for this, but any plain text editor will work too) and find these entries:
    • com.apple.desktopservices
    • system.device.dvd.setregion.initial
    • system.install.admin.user
    • system.install.root.admin
    • system.install.root.user
    • system.privilege.admin
  6. remove “admin” and replace with “powerusers” in all of these case

The “powerusers” group will now have installation rights, but not admin rights (can’t change system settings, use sudoers, can’t over-ride group management, etc.).
And since they can’t over-ride group management, you can apply preferences to the group using WGM (such as blocking them from using certain apps, etc)

There are still some flaws in this scheme, however, as there is in Windows, because it requires that apps and installers follow proper rules when operating, and few, (especially VISE installers) do not. I’ll have a rant on installers and poorly designed sotware another day.

Note: The system.device.dvd.setregion.initial is in there because if you’re including this in your image, and you never use the DVD drive in between unboxing the system, imaging it, then handing it to the user… well you end up with a support call.

Average rating
(1 vote)
About Sketch

Author Biography

Is “The Mac Guy” for a private university, and proud Mac geek since 1994

Rather than saying that the powerusers group “can’t” do this or that, wouldn’t it be better to hedge a little and say “can’t automatically…” or something?

With “com.apple.desktopservices”, I’m pretty sure I can get “root” on the spot, and if I can bring in my own installer.pkg from home, the “system.install…” rights will probably let me install my own setuid root shell [edit. actually, I could save myself the trip and modify an existing package]…

The method is certainly useful in that it will probably be effective in its stated purpose of reducing monkey gumming. Maybe I’m being too picky but I was a little concerned that people reading this might take the “can’t” too literally.

Yes, this is true. Just don’t tell my users that Eye-wink

Also, it seems to me this really just gives users administrative power via the GUI sans being able to modify files they don’t own via Finder or the command prompt.

This seems kind of insecure since you are granting system.install.root.user which allows a user’s application they are running/installing to put anything in the /System directory.

Also, I’m aware a lot of installers improperly ask for admin privileges outright, but do you really think that is sufficient cause to grant system.privilege.admin? Doesn’t this mean any program that wants root access and asks for it can get it with the user’s “Power Users” credentials?

right, well the point of this is that users need to be able to install their apps, so…

A couple things to keep in mind when reviewing this:
It was designed for a university faculty environment
Only the primary user(s) of the system would be added to the group, all others would still only be regular users.
The only secure computer is one locked in a room and not connected to the internet and never powered on.

Post new comment
The content of this field is kept private and will not be shown publicly.
12 + 4 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.