Create a Linux User & Set Permissions
This how-to explains how to create a Linux user and set Super User (sudo) permissions.
That’s an important precautionary step because the default root user is dangerously powerful, meaning we could inadvertently damage our system if we carry on working in that role.
Besides, you may well want a bunch of users with their own particular priviledges if, say, you have various folks administering sites and blogs from your VPS server.
Setup Unmanaged VPS: The Ubuntu-Nginx Guide
Take your virtual private server from zero to hero
.. from blank box to cute-as server ..
with this easy-to-follow copy/paste guide.
22+ parts with video, here’s the index.
For you, it makes more sense to create a user with the option of root’s Super User status enabled only when you need it, and only after you provide a password. That way, you can’t delete something important without first considering your actions.
This Linux thing .. nicely thought out, huh *.
* As an aside – ‘cos I fancy a rant – this is the key difference between Linux and Windoze.
This simple yet strong permissions system is why Linux is practically virus-free, whereas Windows “oh-permissions-forgot-about-that” is more akin to the inside of a malarial test-tube on a hot day in sub-Saharan swampland without a mosquito net and someone forgot the stopper. (Don’t even get me started on Internet Pi55-poorer.)
Er, let’s watch a vid!
Video: 'adduser' Command & 'visudo' Permissions
Watch the, er, guvideo for a better idea of how to do this.
[ .. You Must Subscribe for Code (Or Just Register for Forums) .. ]
Right, I shall say this only once:-
Fire up the terminal, logging into your VPS as we have learned to do.
Change Root Password
First, as a security measure, we’ll change our root password, so type the following and hit return:-
[ .. You Must Subscribe for Code (Or Just Register for Forums) .. ]
.. prompted, enter a password, and confirm it.
Create a Linux User
Now we’ll create a new Linux user. Call it whatever works for you; for instance, I may choose “guv”, “guvnr”, “olly” or “windozereallysux”.
[ .. You Must Subscribe for Code (Or Just Register for Forums) .. ]
.. prompted, enter and confirm a password for the new user and, again prompted, add some details such as name and telephone details, although the world won’t cave in if you just skip that bit by hitting return a few times.
Create Linux Super User Permissions
To give your new VPS user Super User access to administrative tasks we have to open up the Super Users permissions file, this time using a text editor called Vim – a tricky little devil, sorry, but we won’t use it again – by typing:-
[ .. You Must Subscribe for Code (Or Just Register for Forums) .. ]
.. and under the line that reads User privilege specification, type:-
Hold on, time out! I can see you cocking up here. Vim. Geeks love it. Damn .. blessed if I know why. You’d best read this before proceeding:-
Some Basic Vim Editing Tips ..
- To add a new line, type i at the cursor, then your text.
- After your edit, to quit and save the file press Esc then type a colon :, then the letter x x and hit return.
- If you make a mistake and want to start over, closing Vim without saving, type :q! and hit return.
OK. So, continuing from above, after the line that reads User privilege specification,press i (as in insert or innoying) and then type:-
[ .. You Must Subscribe for Code (Or Just Register for Forums) .. ]
Here’s how it should look now, replacing “guvnr” with your user name.
Now exit the file as explained above. And that’s that.
Steaming Ahead
With that basic house-keeping done-dusted, now we’ll get back to Fort-Knoxing our setup; critical steps indeed in the process of this virtual private server build.
Cue index ..
Setup Unmanaged VPS: The Ubuntu-Nginx Guide
Take your virtual private server from zero to hero
with this easy-to-follow copy/paste guide.
“My local PC runs Windows” Show me for Linux
“My local PC runs Linux” Show me for Windows
22+ parts with video, here’s the index ..
-
Setup Unmanaged VPS: The Ubuntu-Nginx Guide
Introducing vpsBible’s how-to guide for setting up a super-charged unmanaged VPS featuring Ubuntu and Nginx.
-
VPS (Virtual Private Server) vs Shared vs Dedicated
Before getting stuck in, let’s compare the web host types in detail and weigh up the differences between managed & unmanaged VPS.
-
Set Up a VPS Linux Distribution
Opening a VPS hosting account, we’ll choose, configure & launch a Linux server ‘distribution’.
-
Set Up Command Line Interface (CLI) using PuTTY
Now we’ve got a server to play with, we’ll connect to it, using the ’ssh’ protocol for a super-secure link.
-
Create a Linux User & Set Permissions
Initially you’ve logged into your remote Linux machine as ‘root’. We’ll add you as a user now, with root or SuperUser permissions.
-
Encrypt Data with OpenSSH & Auto-Login with PuTTY
Now we can use ‘authentication keys’ to shore up our connection while simplifying login to an automated, password-free yet secure process.
-
Harden the Secure Shell (SSH) & Create a Firewall
The final security step: galvanizing the OpenSSH protocol and setting up an ‘iptables’ firewall. Now the server is rock ruddy solid.
-
Edit bashrc for User-Friendly Linux, plus System Updates
We use the terminal a whole lot so let’s cut ourselves a break and create some command shortcuts, then update the server.
-
PHP5, MySQL and Xcache (for Platforms like WordPress)
We have our foundation, let’s lay some bricks: PHP for server-side web applications, Xcache to speed things up & MySQL for databases.
-
Add a Domain Zone to Your VPS
To make your server aware of yourDomain.com you’ll need a few ‘DNS’ records. Damn this is simple I’m practically asleep!
-
Prepare Linux Server for Email with Postfix
In order to send and receive email from our web applications we’ll install some software and tweak the ‘RDNS’ record.
-
Nginx (better than Apache) Web Server
OK I woke up .. let’s install this supersonic web server, tweaking its file structure & adding default configuration files.
-
Setup FileZilla for Secure FTP (SFTP)
There’s FTP, and then there’s ‘Secure FTP’. We’ll set up FileZilla using SFTP – and those authentication keys – for secure file transfers.
-
Serve Multiple Sites & Blogs with Virtual Hosts
We want a website folder structure, some permissions, some site-specific configuration files and, hey, we’ll hook up ‘FastCGI’.
-
Adding Sub-Domains with Nginx
Need a sub-domain? Here’s how to add www.sub.domain.com with an ‘A record’ and a configuration file. (I’ll allow you to skip this bit.)
-
Integrate A CMS Like WordPress, WP MU, Drupal etc
For those of you wanting to use a specific content framework, such as a CMS, blogging or forum software, pop in here and we’ll sort that out.
-
Configure phpMyAdmin for Nginx to Maintain MySQL
Rather than have to crunch databases via the command line, we can make life easier by adding this splendid tool to manage them.
-
Google Apps for Domain-Specific Email
GA’s free Standard Edition for catchall webmail – POP-ping or IMAP-ped to your desktop client – saves precious server resources for your webs.
-
Moving Day! How to Move Your Blog or Site
Nearly there. Here’s the web site or blog migration guide, relocating to your VPS with minimal or no downtime.
-
Appendix 1a: Nginx Control Panel
You’re migrating shared-to-VPS and want a GUI like cPanel? No you don’t, not after you read this! What’s more, you don’t need one either.
-
Appendix 1b: Nginx Control Panel Workarounds
For every control panel module there’s an equivalent terminal command. They’re all linked from here so, hey, no excuses!
-
Appendix 2: Add Web Sites Nginx Cheatsheet
Once you’ve set up your first site, adding more gets easier. Especially when you can refer to this. (Let’s face it, I’m just too good to you.)
Got a Question? Want to Comment?
This site has no comments system. We've got a better system!
Please use the link at the top of the post and goto this topic's forum thread:-
- to help build community
- for a superior knowledge base
- to keep info in one place, not diluted between forum & comments.
For those posts ported from Guvnr.com (pre-Feb/2010), archive comments remain.
Handy info from these comments is in the process of being ported to the forum and attributed to the original author.
If you think this idea sucks, let me know.
Thank you.




















alexandre.fr May 31st, 2009 at 3:59 pm
i had centos without visudo
so i … no, i not install sudo.rpm,
i change os package!
(centos centos-5-i386-hostinabox576 950Mb)
after read the below, i tought instead of visudo
try sudo or sudoers
may be this could help:
http://www.centos.org/modules/newbb/viewtopic.php?forum=6&topic_id=513&viewmode=flat
MODIFY THE SEARCH PATH:
If you haven’t already done so for other software, you now need to modify the search paths so that the system can find the sudo program and its manual pages. :
PATH=$PATH:/usr/local/bin:/usr/local/sbin:/usr/local/bin
MANPATH=$MANPATH:/usr/man/:/usr/local/man
It’s advisable to log out and log in again at this point to activate these changes. Make sure that the system can find the sudo program
# Sudo -V
(that’s an upper case “V”) and that you can display the manual pages:
# man sudo
# man visudo
# man sudoers
the_guv October 2nd, 2009 at 4:16 pm
@alexandre.fr .. darn, sorry for delay, never saw this but tx for that input .. hope it’s handy for Centos users
Nuha October 27th, 2009 at 2:57 pm
VERY THANKS FOR THIS INFORMATION
the_guv October 28th, 2009 at 7:13 pm
@Nuha .. very thanks for your comment too, Sir
Hide Data & Simple Login - SSH & PuTTY - VPS Bible Pt 5 - GUVNR November 30th, 2009 at 9:05 pm
[...] to be replaced by your username:group (likely the same word for each, definitely so if you followed Part 6: Create a Linux User & Set Permissions). Swap my user directory, guvnr, for yours too, [...]
Chris December 22nd, 2009 at 9:48 pm
having a small problem, I tried to adduser and then put username however it does not ask me for a password – yet creates the user? Any advice please?