Bird
Raised Fist0
Linux CLIscripting~5 mins

passwd (change password) in Linux CLI - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: passwd (change password)
O(n)
Understanding Time Complexity

When using the passwd command to change a password, it's helpful to understand how the time it takes grows with input size.

We want to know how the command's work changes as the password length or system size changes.

Scenario Under Consideration

Analyze the time complexity of the passwd command process.


# User runs passwd to change password
passwd
# System prompts for current password
# User enters current password
# System prompts for new password
# User enters new password
# System verifies and updates password
    

This snippet shows the typical steps when changing a password using passwd.

Identify Repeating Operations

Look for any repeated actions or checks during the password change.

  • Primary operation: Password verification and update steps.
  • How many times: Each step happens once per password change attempt.
How Execution Grows With Input

The time to change a password grows mostly with the length of the password entered.

Input Size (password length)Approx. Operations
10 charactersSmall number of checks and updates
100 charactersMore checks proportional to length
1000 charactersMuch longer verification and update time

Pattern observation: The work grows roughly in proportion to the password length.

Final Time Complexity

Time Complexity: O(n)

This means the time to change a password grows linearly with the length of the password.

Common Mistake

[X] Wrong: "Changing a password always takes the same time no matter how long it is."

[OK] Correct: The system must check every character, so longer passwords take more time to process.

Interview Connect

Understanding how commands like passwd scale helps you think about efficiency in real systems.

This skill shows you can reason about how user input size affects system work.

Self-Check

"What if the system added extra password strength checks that scan the password multiple times? How would the time complexity change?"

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