Skip to main content

Changing Passwords with the passwd Command

In most Unix and Linux systems, users can change their passwords using the passwd command. This document provides a detailed introduction to the usage of the passwd command and related considerations.

Regular Users Changing Their Own Password

Regular users can use the passwd command to change their own password. Follow these steps:

  1. Open a terminal window.
  2. Type passwd and press Enter.
  3. The system will prompt you to enter your current password and a new password. Follow the prompts.

Example:

$ passwd
Changing password for user username.
Current password:
New password:
Retype new password:

Superuser (root) Changing Another User's Password

A user with superuser privileges (i.e., root privileges) can use the passwd command to change any user's password without knowing the current password. Follow these steps:

  1. Open a terminal window.
  2. Type sudo passwd username, where username is the target user's name, and press Enter.
  3. The system will prompt you to enter a new password. Follow the prompts.

Example:

# passwd username
Changing password for user username.
New password:
Retype new password:

Configuration File Restrictions

System administrators can restrict users' ability to change passwords through configuration files. The main configuration files include:

  • /etc/passwd
  • /etc/shadow
  • /etc/pam.d

Through PAM (Pluggable Authentication Modules), you can set the following policies:

  • Password complexity
  • Password history
  • Password expiration time

Special Cases

In some systems or environments, there may be additional policies or tools that restrict users from changing passwords. For example:

  • In enterprise environments, users may need to change passwords through a specific portal or tool rather than directly using the passwd command.
  • Some customized systems may use other methods to manage password policies.

Summary

The passwd command is the standard tool for changing user passwords in Unix and Linux systems. Regular users can use it to change their own passwords, while superusers can use it to change any user's password. Specific permissions and restrictions may vary depending on the system configuration.