Linux provides commands to:
- Set passwords
- Change passwords
- Lock accounts
- Expire passwords
- Enforce password policies
Main commands:
- passwd
- chage
1. passwd Command
Purpose
Used to:
- Set user passwords
- Change passwords
- Lock/unlock accounts
- Manage password expiry
Basic Syntax
passwd
Changes current user's password.
Change Another User Password
sudo passwd devuser
Example
sudo passwd aryan
System asks:
New password:
Retype new password:
Password Stored Where?
Encrypted passwords are stored in:
/etc/shadow
Lock User Account
sudo passwd -l devuser
- l = lock
User cannot log in.
Unlock User Account
sudo passwd -u devuser
Expire Password Immediately
sudo passwd -e devuser
User must change password at next login.
Delete User Password
sudo passwd -d devuser
Removes password.
Not recommended for production systems.
Check Password Status
sudo passwd -S devuser
Example Output
devuser P 05/18/2026 0 99999 7 -1
2. chage Command
Purpose
Manages password aging policies.
Used for:
- Password expiry
- Password warnings
- Password age limits
View Password Aging Information
sudo chage -l devuser
Example Output
Last password change
Password expires
Password inactive
Account expires
Set Maximum Password Age
sudo chage -M 90 devuser
Password expires after:
90 days
Set Minimum Password Age
sudo chage -m 7 devuser
User cannot change password before:
7 days
Set Warning Days
sudo chage -W 5 devuser
Warn user:
5 days before expiry
Set Account Expiry Date
sudo chage -E 2026-12-31 devuser
Disable Password Expiry
sudo chage -M -1 devuser
Real-World Usage
Enterprise Password Policy
sudo chage -M 90 -m 7 -W 7 devuser
Meaning:
- Max age = 90 days
- Minimum = 7 days
- Warning = 7 days
Important Password Files
| File | Purpose |
|---|---|
| /etc/passwd | User info |
| /etc/shadow | Password hashes |
| /etc/login.defs | Password policy defaults |
Real-World DevOps Examples
Force Password Reset
sudo passwd -e developer
Lock Inactive Employee
sudo passwd -l employee1
Set Security Policy
sudo chage -M 60 -W 7 admin
Common Password Security Rules
- Minimum 8ā12 characters
- Uppercase letters
- Lowercase letters
- Numbers
- Special characters
Check Password Policy
cat /etc/login.defs
Best Practices
- Use strong passwords
- Enable password expiry in enterprises
- Lock unused accounts
- Avoid passwordless accounts
- Audit /etc/shadow permissions regularly
Top comments (0)