How do I run a program installed by root as a non-root user?

3

1

I'm really a novice in Linux. I'm currently running an OpenSUSE version and I would like to run a program that was installed by root as a non root user.

In other words, how do I configure the "sharing" settings to run this program as a non-root user?

hari

Posted 2011-11-29T10:29:14.513

Reputation: 31

2For example, which program are we talking about? – slhck – 2011-11-29T10:32:21.557

this works probably, su <username> <programname>.. – Vineet Menon – 2011-11-29T10:48:10.947

Use the absolute path to the program. It's possible other users don't have that particular directory (e.g. /usr/local/sbin) on their path.

– Daniel Beck – 2011-11-29T19:36:05.670

Answers

2

It doesn't matter who installed the binary, it matters what the permissions are.

To run the file, UNIX would: check to see if you are the file owner: if so, do you have execute perms?

If not the file owner, are you in the same group: if so, do you have execute perms?

If neither owner or in the group: Does 'other' have execute perms?

Most software installed by 'make install' would give execute perms to all of user, group, and other, and you must by definition be in one of those groups.

What does ls -l say?

(*) Small caveat, to execute the file, you need execute perms, but to even see it you need perms on the directories that contain the file as well. This is rare, and I'm sure the executable permissions are more important at this point.

Rich Homolka

Posted 2011-11-29T10:29:14.513

Reputation: 27 121

Thanks for the reply,i m trying to run a software,which runs only on its working directory that is installed be root.I can only run the program if i go to its directory and run it,but as a non-root user i cannot go to the directory because i dont have the permission,what should i do in this case? – hari – 2011-12-01T12:22:24.053

1

Just change the access rights:

chmod a+x file

But be careful. How did you install the program? Normally, programs install (through rpm or make install) with sufficient and correct rights.

choroba

Posted 2011-11-29T10:29:14.513

Reputation: 14 741

@hari Unrelated to the question but I would advise against using make install as root. Usually make install should be used to install to a temporary directory as part of the process of compiling a package for your OS. --- That aside, one thing I'd check is where it installed to. make install will usually default to /usr/local/bin, which is not always in the user's $PATH. If you can't run the installed program, I'd check that echo "$PATH" shows /usr/local/bin somewhere in there. If not, you'll need to add that to your $PATH (the procedure to do this varies by distro). – Score_Under – 2016-01-16T18:18:37.193