How to Change a User’s Password Using passwd

How to Change a User’s Password Using passwd

Hey there! In this quick and friendly Linux tutorial, we’re going to learn how to change a user’s password using the passwd command. Whether you're a beginner exploring the Linux terminal for the first time, or you're managing users on your system, this command is simple but very powerful.

🔑 What is passwd?

passwd is a built-in Linux command used to change user passwords. You can use it to update your own password or change the password of another user (if you have sudo privileges).

🧪 Scenario 1: Change Your Own Password

If you're logged into your account and want to change your password, just run:

passwd

It will prompt you like this:

Current password:
New password:
Retype new password:

Once you successfully enter and confirm the new password, it will be updated.

🧑‍💼 Scenario 2: Change Another User's Password (As Admin)

Let’s say you're the admin and you want to change the password for a user named john. Here's what you do:

sudo passwd john

You’ll see a prompt like this:

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

Make sure you use a strong password and confirm it correctly.

📝 Pro Tip: Expire a Password to Force a Change

You can also expire a user's password so that they're forced to change it on next login:

sudo passwd --expire john

This is useful for setting temporary passwords or onboarding new users.

🙋‍♂️ Common Issues

  • If you get a “Permission denied” error, make sure you’re using sudo.
  • If password rules are strict, you may need to use a longer or more complex password.

✅ Recap

Here’s a quick summary:

  • passwd — change your own password
  • sudo passwd <username> — change someone else’s password
  • sudo passwd --expire <username> — force a user to change password at next login

And that’s it! You’ve learned how to use the passwd command like a Linux pro. 🎉

Try it out and see how easy it is to manage user passwords securely!

Srinivas Namala, author
About the author

Srinivas Namala

Software Engineer

Srinivas focuses on backend development, databases, systems, and the technologies used to build reliable server-side applications.

View LinkedIn profile ↗