What do I need to setup on a Ubuntu 9.10 server so that a user can build applications of there choice (i.e. ./configure , make && make install) with out the need for sudo/admin privileges.
I just feel its a bit of a security risk having to give a user access to parts of the system they might not need in order to build a app.
If your users use
Or for cmake projects
This will install the program in that prefix (instead of the default /usr/local/) and your users should then be able to run the program like this:
If you want them to be able to run the programs by simply using the name (without full path) you need add
/home/user/opt/bin
to the path environment variable, edit the users .profile and add the following line:Note that programs installed in this way will be private to the specific user, but it's a way to do it
Users can build applications without sudo rights. The only time you need sudo rights is when you want to install something into the system directories.
./configure
andmake
work always without sudo rights.make install
usually needs sudo rights because it will install the application to/usr/local
or/usr
(sometimes/opt
).However, if you change the prefix for the installation path (i.e.
./configure --prefix=~/usr/local
) in a way that the installation will be perform inside the user's home directory tree, no sudo rights are needed formake install
.Adding to what txwikinger has said, you might want to check also
fakeroot
, which gives an opportunity for building .deb packages withdpkg
without needing elevated privileges. Of course, installing those will generally need sudo access.