Bird
Raised Fist0
Linux CLIscripting~3 mins

Why passwd (change password) in Linux CLI? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if changing your password could be as easy as typing one simple command?

The Scenario

Imagine you have to update your password on multiple Linux servers manually by logging into each one and typing commands. It feels like running from one room to another just to change a lock by hand.

The Problem

Manually changing passwords is slow and tiring. You might forget to update some servers or mistype the new password. This can cause security risks or lock you out. It's like trying to remember dozens of new keys without a system.

The Solution

The passwd command lets you quickly and securely change your password right from the command line. It guides you step-by-step and ensures your new password is set correctly, saving time and avoiding mistakes.

Before vs After
✗ Before
ssh server1
passwd
ssh server2
passwd
✓ After
passwd
What It Enables

With passwd, you can confidently update your password anytime, anywhere, keeping your accounts safe without hassle.

Real Life Example

When your company requires a password update every 90 days, using passwd helps you quickly comply on all your Linux machines without confusion or delay.

Key Takeaways

Manually changing passwords on many machines is slow and error-prone.

passwd simplifies and secures the password update process.

It helps keep your accounts safe with minimal effort.

Practice

(1/5)
1. What does the passwd command do in Linux?
easy
A. It changes the password of a user securely.
B. It lists all users on the system.
C. It creates a new user account.
D. It deletes a user account.

Solution

  1. Step 1: Understand the purpose of passwd

    The passwd command is designed to change user passwords securely on Linux systems.
  2. Step 2: Compare options with command function

    Options B, C, and D relate to user management but not password changes. Only It changes the password of a user securely. correctly describes passwd.
  3. Final Answer:

    It changes the password of a user securely. -> Option A
  4. Quick Check:

    passwd changes passwords = A [OK]
Hint: Remember: passwd is for changing passwords only [OK]
Common Mistakes:
  • Confusing passwd with user creation commands
  • Thinking passwd lists users
  • Assuming passwd deletes accounts
2. Which of the following is the correct syntax to change the password for user alice as root?
easy
A. passwd -p alice
B. passwd -u alice
C. passwd --change alice
D. passwd alice

Solution

  1. Step 1: Recall root usage of passwd

    Root can change any user's password by running passwd username.
  2. Step 2: Analyze options for correct syntax

    Only passwd alice uses the correct syntax. Options A, B, and C use invalid or non-existent flags.
  3. Final Answer:

    passwd alice -> Option D
  4. Quick Check:

    Root changes user password with passwd username = D [OK]
Hint: Use passwd username as root to change others' passwords [OK]
Common Mistakes:
  • Adding wrong flags like -u or -p
  • Using --change which is not a valid option
  • Trying to change password without specifying username as root
3. What will happen if a normal user runs the command passwd root?
medium
A. The root password will be changed immediately.
B. The user will be prompted to enter the current root password.
C. The command will fail with a permission error.
D. The user's own password will be changed instead.

Solution

  1. Step 1: Understand user permissions for passwd

    Only root can change other users' passwords. Normal users cannot change root's password.
  2. Step 2: Predict command behavior for normal user

    When a normal user tries passwd root, the system denies permission and shows an error.
  3. Final Answer:

    The command will fail with a permission error. -> Option C
  4. Quick Check:

    Normal user cannot change root password = A [OK]
Hint: Only root can change other users' passwords; others get permission error [OK]
Common Mistakes:
  • Assuming normal user can change root password
  • Thinking user will be asked root's current password
  • Believing user's own password changes instead
4. You run passwd alice as root but get the error: passwd: Authentication token manipulation error. What is the most likely cause?
medium
A. The password entered does not meet complexity rules.
B. You forgot to run the command with sudo or as root.
C. The user alice does not exist.
D. The passwd command is not installed.

Solution

  1. Step 1: Understand the error meaning

    The error usually means insufficient permissions to update password files.
  2. Step 2: Identify cause based on command context

    If not run as root or with sudo, passwd cannot change another user's password, causing this error.
  3. Final Answer:

    You forgot to run the command with sudo or as root. -> Option B
  4. Quick Check:

    Permission error means missing root privileges = C [OK]
Hint: Run passwd with root or sudo to avoid permission errors [OK]
Common Mistakes:
  • Assuming user does not exist without checking
  • Thinking password complexity causes this error
  • Believing passwd is missing from system
5. You want to automate changing passwords for multiple users listed in a file users.txt. Which script snippet correctly changes each user's password to NewPass123 using passwd?
hard
A. for user in $(cat users.txt); do echo -e "NewPass123\nNewPass123" | passwd $user; done
B. while read user; do echo "NewPass123" | passwd --stdin $user; done < users.txt
C. for user in users.txt; do passwd $user NewPass123; done
D. cat users.txt | passwd -p NewPass123

Solution

  1. Step 1: Understand how to feed password to passwd

    The passwd command reads password from standard input when piped, requiring password twice (new and confirmation).
  2. Step 2: Analyze each script snippet

    while read user; do echo "NewPass123" | passwd --stdin $user; done < users.txt uses --stdin which is not standard on all systems. for user in $(cat users.txt); do echo -e "NewPass123\nNewPass123" | passwd $user; done correctly uses echo -e to send password twice piped to passwd. for user in users.txt; do passwd $user NewPass123; done incorrectly treats file name as user list. cat users.txt | passwd -p NewPass123 misuses passwd with pipe and -p which is invalid.
  3. Final Answer:

    for user in $(cat users.txt); do echo -e "NewPass123\nNewPass123" | passwd $user; done -> Option A
  4. Quick Check:

    Pipe password twice to passwd in loop = B [OK]
Hint: Pipe password twice with echo -e inside loop to automate [OK]
Common Mistakes:
  • Using non-standard --stdin option
  • Not sending password twice for confirmation
  • Treating filename as username list without reading
  • Misusing passwd options
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard