Linux is a multi-user system. This means that the platform can handle multiple user logins. As a system adminstrator, it's important to know how to manage all the users, assign them to groups and manage their permission levels.
In this series, we'll learn how to first create and manage users and groups, then look at all the important files that manage these settings in the background.
There are three types of accounts on any Unix platform, all of may be within a group account:
Creating a user is simple. Simply use
useradd with any of the below options to create a user. Make sure you are root when you perform these actions.
$ useradd -c "Sarah Jones" -d /home/sarah -G intro-unix-course sarah
The skeleton directory holds all the default files to be included when a user is created. The system default skeleton folder is in /etc/skel.
$ mkdir skel $ touch skel/example.txt $ touch skel/example2.txt $ useradd -c "Sarah Goodwill" -m -k /home/skel sarah $ ls /home/ sarah ubuntu user $ ls /home sarah/ example.txt example2.txt
If we forgot to include the
-k option, we can easily create the directory and
chown it to the user.
$ cd /home $ mkdir sarah $ chown sarah:sarah
Or we can use
usermod with the
-d option to assign sarah's new home directory. Note that the user can't be logged in.
$ usermod -d /home/sarah
To modify any existing users, use the
usermod command with any of the above options.
# Set the user account to expire on the last day of 2016 $ usermod -e 2016-12-31 sarah
To set a user's password, simply use the
$ passwd sarah
To delete a user, use the
userdel command. If Sarah spawned any processes, you can send the processes a
kill signal to close them.
$ userdel sarah userdel: user sarah is currently used by process 2381 $ kill 2381 $ userdel -r sarah
-r options removes the user's home directory as well. The safe option is to not use this option, unless you are 100% sure.
chage command is used to manage password expiration time limits. It sets the number of days between required password changes. First, make sure it's installed on your distro:
$ sudo apt-get install chage $ sudo yum install chage
The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell. Along the way you'll learn the timeless skills handed down by generations of gray-bearded, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more.$ Check price
This book is packed with practical advice about everything from estimating and coding to refactoring and testing. It covers not only technique, but also attitude, as it shows how to approach software development with honor, self-respect, and pride; communicate and estimate faithfully; and understand that deep knowledge comes with a responsibility to act.$ Check price