What is the basic command to add a new user in a bash script?
The basic command is useradd username. It creates a new user account named 'username'.
Click to reveal answer
beginner
How can you set a password for a new user in a bash script?
You can set a password by using echo 'username:password' | chpasswd. This updates the password for 'username'.
Click to reveal answer
intermediate
Why should you check if a user already exists before adding them in a script?
To avoid errors or overwriting existing accounts. Checking prevents duplicate users and script failures.
Click to reveal answer
beginner
What command removes a user and their home directory in a bash script?
Use userdel -r username to delete the user and their home directory safely.
Click to reveal answer
intermediate
How can you add a user to a group in a bash script?
Use usermod -aG groupname username to append the user to the specified group.
Click to reveal answer
Which command creates a new user account in bash?
Apasswd
Buseradd
Cusermod
Duserdel
✗ Incorrect
useradd is used to create new user accounts. passwd sets passwords, usermod modifies users, and userdel deletes users.
How do you safely delete a user and their home directory?
Arm -rf /home/username
Buserdel username
Cuserdel -r username
Ddeluser username
✗ Incorrect
userdel -r username deletes the user and their home directory. Just userdel leaves files behind.
What does the -aG option do in usermod?
AAdds user to a group without removing from others
BDeletes user from a group
CCreates a new group
DChanges user's primary group
✗ Incorrect
-aG appends the user to the specified groups without removing existing group memberships.
Why check if a user exists before adding in a script?
ATo avoid duplicate users and errors
BTo speed up the script
CTo delete old users
DTo change the password
✗ Incorrect
Checking prevents creating duplicate users and avoids script errors.
Which command sets a user's password in a script?
Apasswd username
Buseradd -p password username
Cusermod -p password username
Decho 'username:password' | chpasswd
✗ Incorrect
Using echo 'username:password' | chpasswd sets the password non-interactively in scripts.
Explain the steps to add a new user with a password and add them to a group using a bash script.
Think about safety checks and commands for user creation, password setting, and group assignment.
You got /4 concepts.
Describe how to safely remove a user and their home directory using a bash script.
Consider commands and safety checks to avoid leftover files.
You got /3 concepts.
Practice
(1/5)
1. What is the main purpose of a bash script that manages user accounts with commands like useradd and userdel?
easy
A. To change the system hostname
B. To automate adding, deleting, and listing users on the system
C. To update software packages automatically
D. To monitor network traffic
Solution
Step 1: Understand the commands used
The commands useradd and userdel are specifically for managing user accounts on Linux systems.
Step 2: Identify the script's goal
Since the script uses these commands, its main purpose is to automate user account management tasks like adding, deleting, and listing users.
Final Answer:
To automate adding, deleting, and listing users on the system -> Option B
Quick Check:
User management commands = automate user tasks [OK]
Hint: Look for user management commands like useradd/userdel [OK]
Common Mistakes:
Confusing user management with system updates
Thinking it changes network settings
Assuming it modifies system hostname
2. Which of the following is the correct syntax to add a new user named alice in a bash script?
easy
A. createuser alice
B. adduser alice
C. newuser alice
D. useradd alice
Solution
Step 1: Recall the standard command for adding users
The standard Linux command to add a user is useradd.
Step 2: Match the command with the username
Using useradd alice correctly adds a user named alice.
Final Answer:
useradd alice -> Option D
Quick Check:
Standard add user command = useradd [OK]
Hint: Remember: useradd is the standard command to add users [OK]
Common Mistakes:
Using adduser which may not be available on all systems
Typing createuser or newuser which are invalid commands
Confusing commands with other system utilities
3. What will be the output of this bash snippet if the script is run with root privileges?
if id "bob" &>/dev/null; then
echo "User exists"
else
echo "User does not exist"
fi
medium
A. User does not exist
B. User exists
C. Syntax error
D. Permission denied
Solution
Step 1: Understand the id command usage
The command id "bob" checks if user bob exists. If bob does not exist, it returns an error.
Step 2: Analyze the if condition and output
The script redirects errors to /dev/null, so if bob does not exist, the else branch runs, printing "User does not exist".
Final Answer:
User does not exist -> Option A
Quick Check:
id command fails = else branch runs [OK]
Hint: id command success means user exists; else means no user [OK]
Common Mistakes:
Assuming output shows error messages
Thinking permission issues cause output
Confusing command syntax with errors
4. Identify the error in this script snippet that tries to delete a user named charlie:
userdel charlie
if [ $? -eq 0 ]; then
echo "User deleted"
else
echo "Failed to delete user"
fi
medium
A. Missing sudo or root privileges to run userdel
B. Incorrect syntax for if statement
C. userdel command should be userremove
D. No error, script works fine
Solution
Step 1: Check command permissions
The userdel command requires root privileges. Running it without sudo or as root will fail.
Step 2: Verify script syntax and commands
The if statement syntax and command are correct, but permission issues cause failure.
Final Answer:
Missing sudo or root privileges to run userdel -> Option A
Quick Check:
userdel needs root = permission error if missing [OK]
Hint: Remember: userdel needs root or sudo to succeed [OK]
Common Mistakes:
Thinking userdel syntax is wrong
Using wrong command name like userremove
Ignoring permission requirements
5. You want to write a bash script that adds multiple users from a list in a file users.txt. Which script snippet correctly reads each username and adds the user, skipping empty lines?
hard
A. read users.txt | while read user; do
useradd $user
done
B. for user in $(cat users.txt); do
useradd $user
done
C. while read user; do
[ -z "$user" ] && continue
useradd "$user"
done < users.txt
D. cat users.txt | while useradd; do
echo $user
done
Solution
Step 1: Understand reading lines safely
Using while read user reads each line safely, including spaces, and allows skipping empty lines.
Step 2: Check skipping empty lines and adding users
The condition [ -z "$user" ] && continue skips empty lines. Then useradd "$user" adds the user correctly.
Final Answer:
while read user; do
[ -z "$user" ] && continue
useradd "$user"
done < users.txt -> Option C
Quick Check:
Safe line read + skip empty + add user = while read user; do
[ -z "$user" ] && continue
useradd "$user"
done < users.txt [OK]
Hint: Use while read and check empty lines to avoid errors [OK]
Common Mistakes:
Using for loop with word splitting causing errors
Incorrect pipe usage with cat and while
Not skipping empty lines causing useradd errors
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.