Locking a password in Linux disables the ability to log in to an account using a password, effectively preventing authentication via password while leaving the account itself intact. This is useful for various administrative and security purposes.
How Password Locking Works
When a password is locked, the system modifies the /etc/shadow file by prepending a ! or * to the hashed password field for that user. For example:
- Before locking:
merry:$6$encryptedpassword:19340:0:99999:7::: - After locking:
merry:!$6$encryptedpassword:19340:0:99999:7::: 
The ! or * prevents the password hash from being used during authentication.
if you have 2 ’!’ then that means password has been never set
Uses of Locking a Password
- 
Temporarily Disable Login for a User
- If a user account is not currently needed but may be re-enabled later, locking the password prevents access without deleting the account.
 - Example:
sudo passwd -l username 
 - 
Secure a Compromised Account
- If there’s a suspicion that an account has been compromised, locking the password can stop unauthorized access until the issue is resolved.
 
 - 
For System or Service Accounts
- Some system accounts (e.g., 
nobody,daemon) do not require direct login access. Their passwords are locked to ensure they can’t be used for interactive logins. - Locked accounts can still perform their intended functions (e.g., running services).
 
 - Some system accounts (e.g., 
 - 
Prevent Login for Users with Alternative Access
- If a user accesses the system via SSH keys, SSO, or other non-password mechanisms, locking the password ensures no one can log in with a forgotten or weak password.
 
 
What Happens When a Password Is Locked?
- Login with Password Fails: The user cannot log in with a password but may still log in using other methods (e.g., SSH keys).
 - Existing Sessions Are Unaffected: Any active sessions for the user remain active until they log out.
 - Account Itself Remains Intact: Files, permissions, and non-password-based access methods are not affected.
 
Unlocking a Password
To re-enable password-based authentication for a locked account:
sudo passwd -u usernamePractical Example
Lock a password for the user merry:
sudo passwd -l merryCheck the status of the account:
sudo passwd -S merryOutput:
merry L 12/08/2024 0 99999 7 -1 (Password locked.)
To unlock:
sudo passwd -u merry