root/admin authorization and PackageMaker

I am building an installable package (.pkg) with PackageMaker 1.1.11 (that's the one that comes with Panther).
The package is for installing things both to /Applications and to some folders in /Library (/Library/StartupItems and a new folder that I'm putting in /Library).
I do (obviously) not choose Overwrite (directory) permissions.
I am putting the whole stuff together as recommended, mirroring the actual directory structure in the folder I am building my package from, choosing a Default Location of /, making it non-relocatable.
I am permissioning my "source" folder in the exact way that I want the files to be later -- mostly root:admin with rwxrwxr-x and rw-rw-r--. (Admins should be allowed to muck around with it, but no one else.)
Now I have two choices: I can either select Admin Authorization or Root Authorization as the Authorization Action.
(No Authorization Required obviously wouldn't do what I want.)

I am unsure which one of the two to choose, and what the effective difference is between them (if any).

Now, no jumping to conclusions here, please folks.
I do know the difference between an admin and the root account.
HOWEVER:The Developer documentation states (under "Authorization, File Ownership, and Permissions"):

(Emphasis by me.)

It further says:

and:

(Emphasis by me.)

Now, maybe I am getting this wrong, but it seems to me that this means that there is virtually no effective difference between asking for root or admin authorization in this scenario (the only difference being that according to Table 12-1 in the said documentation, requiring Root Authorization will promt an admin user to enter their password,
whereas requiring just Admin Authorization would not prompt an admin user.

Am I right?
Is that the only difference?
Is it otherwise inconsequential whether I ask for Root or Admin authorization in this scenario?

Help on this is MUCH appreciated.

rop

If you have no test machine and/or test boot volume to attempt installation and running the installed software on, then you might want to see about enlisting the support of someone that does (not volunteering :stuck_out_tongue: :wink: )

In reality, safety first. If you do not need to provide root privileges to run your app, the Admin authorization is probably what you should use. Escalation to root should only be used when required.

I would think that the difference would be akin to the ramifications of "su -" vs. "sudo".

Sorry I don't have definitive (or maybe even correct) answer to your question. I believe that this installation privileges issue is applicable to any of the Unix threads here, so you may want to try the programming and advanced forums if you don't get a better response than mine.

You're very welcome, any thoughts on this are very welcome. :slight_smile:

I don't know for certain if the below is the only difference, nor am I sure how it relates to package installation, but here's my crack at it:

In OSX, root is the same as almost all other Unix systems. Administrator is almost as good. In OSX, an Administrator is in the admin group, which allows them to run "sudo", to run commands as root.

Now, knowing the little I do know about OSX, I do know root is not enabled by default. Administrator is. Depending on the administrator scripts, you may be able to require admin privelages, and sudo your commands.

Either way, they'll be prompted for either an admin, or the root, login. My gut instinct would tell me to go with administration requirements, not root.

very excellent point, indeed! :slight_smile: nice catch!

(though, that begs the musical question, if root being enabled or not could cause an installation to go belly up, how does Apple manage updates?
i'd guess from the melodious query that root is not a requirement for nearly every install...)