VPS question about installations done to created users

May 1, 2015 875 views
Linux Basics Getting Started


I have configured my VPS with Centos 7, Nginx and other installs in my root user. Everything has worked like a charm. But now that I have had to create a user I see that nothing is installed into this user.

Because I'm quite low of experience in VPS I ask: Is it supposed to be this way? Do I have to install again all yum installations as I did for root user? Do I have to do it for any new user I should create?


3 Answers

Applications installed via yum are not installed for a single user and their contents/configuration should not be located in your user's home folder. You can find most configuration files in /etc and most executables in /usr/bin


When you use yum to install a package, you have two main options: 1). install as the root user or; 2) use sudo after adding a newly created user to the sudo group (fyi: sudo prevents you from having to login as & use the root user account. It provides escalated privileges on-demand to users within the sudo group).

As for the packages you've installed thus far, all packages will be installed to pre-defined directories which is either defined as a standard for the project or defined by the package maintainer(s). Each of the packages, however, has to be installed as root or through a sudo account. A standard user would not be able to install, start/stop/restart or modify the packages unless they gained escalated access by compromising the server (i.e. brute-force / weak passwords, etc - as a simplified, yet all too common example).

When you install a package through yum or apt-get (for Ubuntu) - we'll use NGINX (a web server) as an example, yum will check to see if a package is available and if so, download, extract and install. In most cases, for NGINX, this means that the directory /etc/nginx will be created and all of NGINX's configuration files will be stored there after yum has finished.

From there, it would be up to you to configure NGINX, NGINX Server Blocks (which would be called a Virtual Host if we substituted Apache in place of NGINX), etc. You'd also be responsible for installing and maintaining PHP-FPM (if you want to use PHP) or; if you're going to use Ruby/RoR, simply sub that in place of PHP :).

A Droplet (read: VPS; or Virtual Private Server) is like a blank canvas. Beyond the OS, how it functions and/or what it does is entirely up to you as you're the sole person doing the software installation, configuration, optimization etc. If you want to run NGINX, PHP-FPM and MariaDB and then install NodeJS to power a live / async chat room, you can do it :). Likewise, if you want to install Rub/RoR, Apache, Memcached, etc - you can do that as well!

The one key bit of advice I would give is to read up on basic server security - i.e. software firewall, secure passwords (IMO, anything less than 32-64 random characters consisting of upper & lowercase letters, numbers and random symbols is too short - I've pretty much moved to 64+ as as a standard where allowed) and so forth.

Thanks for your answer @ryanpq , now I notice I can see Nginx version from new user.
But what about Ruby and RoR? I've installed them via Rbenv. I guess I have to install them again, is it correct?

Have another answer? Share your knowledge.