passwd Command Cheat Sheet
passwd allows users to change their account passwords and allows administrators to manage password policies.
Synopsis
passwd [options] [LOGIN]
Changing Passwords
Change Your Own Password
passwd
Change Another User's Password (Root)
sudo passwd username
Force Password Change on Next Login (-e)
Expire the password immediately.
sudo passwd -e username
Locking & Unlocking
Lock Account (-l)
Prevents the user from logging in via password. (Does not prevent SSH Key login!).
sudo passwd -l username
Unlock Account (-u)
sudo passwd -u username
Status & Info
Check Account Status (-S)
Displays status code: - P: Usable password. - L: Locked. - NP: No password.
sudo passwd -S username
# Output: alice P 01/01/2024 0 99999 7 -1
Password Aging (Policies)
Set persistent rules for a user.
Set Minimum/Maximum Days
- Minimum days between changes (
-n). - Maximum days valid (
-x). - Warning days before expiry (
-w).
# Must wait 10 days to change again. Expire in 90 days. Warn 7 days before.
sudo passwd -n 10 -x 90 -w 7 username
Advanced: Pipe Input
Common in automation scripts to set password non-interactively. Warning: Only use this in secure environments (command history logs might capture it).
echo "username:newpassword" | sudo chpasswd
passwd).
If you MUST pipe to passwd:
echo "newpassword" | sudo passwd --stdin username
--stdin flag is not available on all distros, mainly RHEL/CentOS).
Notes
- File:
passwdupdates/etc/shadow(secure), not/etc/passwd. - Delete Password:
passwd -d usernameallows login without a password (very insecure).