I like logical commands; commands that are simple, straightforward, and just make sense. When I delivered Linux sysadmin training, I found Linux user management commands to be easy to explain.
I structured my explanation of account administration like this:
What three things must you do to manage user accounts?
- Create accounts
- Modify accounts
- Delete accounts
So, what three commands accomplish these tasks? (As in my overview on account administration, these commands are for Red Hat Enterprise Linux and RHEL-like distributions, but the concepts apply to any distribution of Linux.)
useradd
usermod
userdel
Pretty simple, right?
Here is a breakdown of how to use these three commands with some of their related options in RHEL.
useradd
The most basic task is to create an account to represent the user who will be working on the system. Each user must authenticate to Linux with an identity that can be used to control their resource access and consumption. User accounts are stored in the /etc/passwd
file. That file should not be edited directly by tools such as Vim. Instead, there is useradd
, a user-creation utility that adds an account but also accomplishes additional tasks.
Use the useradd
command to create accounts:
$ sudo useradd dgarn
That's enough to create the account. However, there are some options you can add. As always, review the associated man page for details. Here are a few common options:
--create-home
(-m
): Adds a home directory (this is a default on some distributions)--shell
(-s
): Sets the user's preferred shell if it's different from/bin/bash
--uid
(-u
): Specifies a particular user ID (UID)--comment
(-c
): Populates the comment field (usually with the user's full name enclosed in quotes)
Settings for the useradd
command are stored in the /etc/defaults/useradd
file.
Also, don't forget to set a password for the account by using the passwd
command.
Try a few exercises to test these commands:
- Create a user named test1 with a home directory named
/home/salesuser
. - Create a user named test2 with zsh as the default shell.
- Create a user named test3 with "Temp User" in the comment field.
Note: These commands require root or administrative privileges, so use the sudo
before each command.
[ Geat a free trial of full access to Red Hat's curriculum. ]
usermod
Now that some user accounts exist on the system, you can modify their settings. You accomplish this with the usermod
command and its related options. Modifications may be necessary when users change names, request different shells, or need updated password information.
Standard options for usermod
include:
--comment
(-c
): Modifies the comment field--home
(-d
): Modifies home directory information--expiredate
(-d
): Changes account-expiration settings--login
(-l
): Modifies the username--lock
(-L
): Locks a user account--unlock
(-U
): Unlocks a user account
Perhaps a user requests an account name change from test2 to testtwo. The command looks like this:
$ sudo usermod --login testtwo \
--comment "Test Two" test2
The test2
string is the argument in this command. The --login
and --comment
options act on that argument to modify the account.
Maybe a user is taking a leave of absence. The user will return, but the account should be inaccessible in the meantime. If an administrator deletes the account, the user's data, group memberships, and other unique information may be lost or more difficult to access. It's better to lock the account until their return.
Lock a user account by using the usermod
command:
$ sudo usermod --lock test1
Upon the user's return, unlock the account:
$ sudo usermod --unlock test1
Interestingly, adding a user to a group modifies the user, not the group. Therefore, you manage group membership with the usermod
command.
The two primary group membership scenarios are:
- Add a user to a group and remove the user from all other groups
- Add a user to a group and retain the user's membership in all other groups
Use the --groups
(-G
for short) option with usermod
to accomplish the first scenario (add a user to a group and remove them from other groups). The --append
(-a
for short) option appends a group to the user, and when combined with -G
, it retains its membership in other groups.
So, to add the test1 user account to the demo group and retain test1's membership in other groups, type:
$ sudo usermod --append --groups demo test1
Managing group membership is probably the most challenging use of the usermod
command, but Tyler Carrigan's article Managing local group accounts in Linux covers this topic well.
[ Practice your Linux skills in the free online course RHEL technical overview. ]
userdel
Finally, you might want to remove an account representing a user whose role has changed or is no longer with the organization.
To delete the account, type:
$ sudo userdel test3
However, before deleting the account, don't forget about resources such as the user's home directory or system mail. You will want to ensure those resources get handled according to the organization's written security policy.
Here are some common options for userdel
that address these resources:
--force
(-f
): Deletes the account (including mail and home directory), even if the user is still logged in--remove
(-r
): Deletes the account (including mail and home directory), but the user must be logged out
The userdel
command is pretty simple. There aren't many options, but they can be displayed by typing userdel --help
.
Wrap up
New Linux users sometimes have difficulty wrapping their heads around how many commands exist and how many of them sysadmins memorize. That memorization comes from years of use and experience. It's handy, however, when some commands have logical names and simple options.
In RHEL, it doesn't get much easier than:
- Add a user:
useradd
- Modify a user:
usermod
- Delete a user:
userdel
It's worth noting that some Linux distributions provide front end commands to perform the same tasks. For example, the adduser
command steps the sysadmin through a series of interactive prompts to create a new user. On a Linux system running a graphical desktop, there are also GUI applications to help manage user accounts.
The three commands to manage groups are similar, and I cover those in another article. Sysadmins really only need to remember these basic commands to manage users and groups.
À propos de l'auteur
Damon Garn owns Cogspinner Coaction, LLC, a technical writing, editing, and IT project company based in Colorado Springs, CO. Damon authored many CompTIA Official Instructor and Student Guides (Linux+, Cloud+, Cloud Essentials+, Server+) and developed a broad library of interactive, scored labs. He regularly contributes to Enable Sysadmin, SearchNetworking, and CompTIA article repositories. Damon has 20 years of experience as a technical trainer covering Linux, Windows Server, and security content. He is a former sysadmin for US Figure Skating. He lives in Colorado Springs with his family and is a writer, musician, and amateur genealogist.
Parcourir par canal
Automatisation
Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements
Intelligence artificielle
Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement
Cloud hybride ouvert
Découvrez comment créer un avenir flexible grâce au cloud hybride
Sécurité
Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies
Edge computing
Actualité sur les plateformes qui simplifient les opérations en périphérie
Infrastructure
Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde
Applications
À l’intérieur de nos solutions aux défis d’application les plus difficiles
Programmes originaux
Histoires passionnantes de créateurs et de leaders de technologies d'entreprise
Produits
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Services cloud
- Voir tous les produits
Outils
- Formation et certification
- Mon compte
- Assistance client
- Ressources développeurs
- Rechercher un partenaire
- Red Hat Ecosystem Catalog
- Calculateur de valeur Red Hat
- Documentation
Essayer, acheter et vendre
Communication
- Contacter le service commercial
- Contactez notre service clientèle
- Contacter le service de formation
- Réseaux sociaux
À propos de Red Hat
Premier éditeur mondial de solutions Open Source pour les entreprises, nous fournissons des technologies Linux, cloud, de conteneurs et Kubernetes. Nous proposons des solutions stables qui aident les entreprises à jongler avec les divers environnements et plateformes, du cœur du datacenter à la périphérie du réseau.
Sélectionner une langue
Red Hat legal and privacy links
- À propos de Red Hat
- Carrières
- Événements
- Bureaux
- Contacter Red Hat
- Lire le blog Red Hat
- Diversité, équité et inclusion
- Cool Stuff Store
- Red Hat Summit