passwd Command in Linux

Introduction

In this tutorial, we will delve into the Linux passwd command, a crucial tool for system administration used to modify user passwords. We will explore how to examine a user's current password status, update the password for a specified user account, and recover a user account by resetting a forgotten password. Mastering the passwd command is essential for effective user account management and maintaining system security in a Linux environment.

This guide will cover the following essential tasks:

  • Understanding the functionality of the passwd command
  • Modifying a user's password
  • Recovering access via password reset

Understanding the passwd Command

This section focuses on the Linux passwd command, a fundamental utility for changing user credentials. Proper usage of the passwd command is paramount for effective Linux systemadmin tasks, specifically managing user accounts and ensuring the overall security of the system.

First, let's verify the current password status for a specific user:

passwd -S labex

Example output:

labex PS 2023-04-12 0 0 99999 7 -1 (Password set, SHA512 crypt.)

This output confirms that the user labex has a password configured, employing SHA512 encryption.

Now, let's proceed with changing the password for the user labex. This requires root privileges:

sudo passwd labex

You'll be prompted to provide the new password twice for confirmation:

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

The passwd command updates the user's password hash within the /etc/shadow file. This file is only accessible by the root user and stores encrypted password data for all user accounts on the system, ensuring secure password management.

Changing User Password

This section will guide you through the process of changing a specific user account's password on a Linux system. As a systemadmin, this is a common task.

Begin by creating a new user account, for example, newuser:

sudo useradd -m newuser

Next, let's change the password for this newly created newuser account. This command requires root privileges.

sudo passwd newuser

You will be prompted to enter the new password twice to ensure accuracy:

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

As before, the passwd command securely updates the /etc/shadow file with the new encrypted password. This file is crucial for Linux user authentication.

To confirm the password change, attempt to switch to the newuser account and log in using the new password:

su - newuser

Successful login indicates that the password change was successful.

Resetting Forgotten Password

This section demonstrates how to reset a user's password when they have forgotten it. This is a critical systemadmin function.

First, create another user account, for demonstration purposes, name it forgottenuser:

sudo useradd -m forgottenuser

Now, initiate the password reset process for the forgottenuser account. As root, you can change any user's password.

sudo passwd forgottenuser

You will be prompted to provide a new password for the user:

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

The passwd command will again update the /etc/shadow file, allowing the user to regain access to their account.

To verify the password reset, attempt to switch to the forgottenuser account and log in using the newly set password:

su - forgottenuser

A successful login confirms the password reset was successful and the user can now access their account.

Summary

In this tutorial, we covered the essential aspects of using the Linux passwd command for user password management. We began by understanding the command's function and how to check a user's password status. Next, we learned how to modify passwords for specific user accounts. Finally, we explored the process of resetting a forgotten password, a vital task for any systemadmin. This tutorial provides practical knowledge and step-by-step instructions, promoting a strong understanding of password management within a Linux system.

400+ Linux Commands