1

I was working on server as admin and five standard users were also connecting. However, when I installed a new package (like numpy etc.), they couldn't use it. I needed to change many things on server or bashrc files etc..

Now, I'm creating a new server on ubuntu-16.04 (as admin) and want to create a standard users or a group that includes all standard users. I want to make accessible all programs(that will be installed) without any sudo permission (or changing any paths) for standard users(or group).

How to build this kind of system?

thanks

ilknur
  • 11

1 Answers1

0

All versions of Ubuntu and Ubuntu Server as well as all flavors of Linux is the type of system you described.

The main difference between Ubuntu Desktop and Ubuntu Server is that the server version installs a striped down version allowing the Administrator to pick out many packages that he prefers to install, such as the GUI desktop.

The users on the system will have access to the applications that you install system-wide. Applications installed from the repository using the Software Center or apt are installed system-wide.

If you install an application outside of a deb distribution, it would depend on how you install it. If you compile a program, under normal circumstances the program is compiled (and should be for security) in the user's personal space, by a normal account without elevated access.

When it's time to install the complied package, many distributors of the packages will include a make install option, that when run using the elevated sudo command, will install the package system-wide. If it doesn't place the package system wide, it's something you would have to do manually.

You mentioned one program, numpy. However, it would depend on the one program how you installed it. If you would be specific for a program you are having problems, you would have to include the steps you used for installing that program, so that you can have suggestions of how to make that particular program system wide. Once you do this for one or two programs, you can use the same method to do this for all your programs.

It might not be the one you are looking for, but python-numpy is available via the repository. If you install it with this command:

 $ sudo apt install python-numpy

It'll be available system wide.

As far as users and permission and access to programs, creating a user by default will give the users that type of access and permission that you describe in your question.

All the users have access to programs that are in the same folders that you have access to by default. Use this command to see which paths are searched:

$ echo $PATH

You may consider placing your programs in a subdirectory of /opt. Then place a link to that program's execute file in a default path such as usr/local/bin.

If you have a program called saytime.sh, you can place it into /opt/timeprogram/saytime.sh.

Then place a link to that program in /usr/local/bin using this command:

$ ln -s /opt/timeprogram/saytime.sh

Now the program can be run from the commandline without having to navigate to the location of the program, and not having to type a full path to the program.

For creating an Ubuntu Server, just download the server version the same way you downloaded the Desktop version. Install it the same way. But as I mentioned above, the behavior of both are the same when it comes to the criteria of your question.

L. D. James
  • 25,036