How to figure out why an application requires root user when it should run as a normal user?

Originally I asked a specific instance of this question but I realize now that I probably was asking the wrong question as what I really need is a diagnostic method.

So… is there some general way to track this type of problem down? That is when something should run “something” as a normal user but works only as root in some (or maybe all) cases.

My current specific instance is that I have a problem with an install of Java which I posted here but I have had this happen to me once before with something (I can’t remember what, it was a long time ago) so I think it’s time I have some general diagnostic methodology for these types of problems.

Does anyone have a good way to generally track these types of problems down?

Thanks,
Reg

It is all down to ownership and user permissions for the program/data/directories.

The “why” is a matter of decision by devs/packagers, this could even be by Oracle. IME never without good reason.

Also what group permissions the app has, and if the user belongs to the group that can run it - like the vboxusers group you have to belong to run virtualbox as not-root.