forked from sig_core/toolkit
84 lines
2.1 KiB
Bash
Executable file
84 lines
2.1 KiB
Bash
Executable file
#!/bin/bash
|
|
r_log "shadow" "Various User Tests"
|
|
|
|
# useradd
|
|
r_log "shadow" "Ensure that useradd works"
|
|
r_log "shadow" "Add the user obsidian"
|
|
useradd obsidian
|
|
r_checkExitStatus $?
|
|
|
|
r_log "shadow" "Verify obsidian exists with ID"
|
|
id obsidian > /dev/null 2>&1
|
|
r_checkExitStatus $?
|
|
|
|
r_log "shadow" "Verify /etc/passwd"
|
|
grep -q "^obsidian" /etc/passwd
|
|
r_checkExitStatus $?
|
|
|
|
# usermod
|
|
r_log "shadow" "Verify usermod can add a comment"
|
|
usermod -c "Green Obsidian" obsidian
|
|
r_checkExitStatus $?
|
|
r_log "shadow" "Verify comment exists in /etc/passwd"
|
|
grep "^obsidian" /etc/passwd | grep -q "Green Obsidian"
|
|
r_checkExitStatus $?
|
|
r_log "shadow" "Verify comment exists with getent"
|
|
getent passwd obsidian | grep -q "Green Obsidian"
|
|
r_checkExitStatus $?
|
|
|
|
# lastlog
|
|
r_log "shadow" "Verify lastlog"
|
|
# shellcheck disable=SC2063
|
|
lastlog -u obsidian | grep -q "**Never logged in**"
|
|
r_checkExitStatus $?
|
|
|
|
# chpasswd
|
|
r_log "shadow" "Verify chpasswd utility"
|
|
chpasswd -e << EOF
|
|
obsidian:somenonsense
|
|
EOF
|
|
r_checkExitStatus $?
|
|
r_log "shadow" "Verify /etc/shadow"
|
|
grep -q "somenonsense" /etc/shadow
|
|
r_checkExitStatus $?
|
|
|
|
# newusers
|
|
r_log "shadow" "Verify newusers utility"
|
|
newusers << EOF
|
|
blueonyx:x:333344:333344:Blue Onyx:/home/blueonyx:/bin/bash
|
|
EOF
|
|
r_checkExitStatus $?
|
|
r_log "shadow" "Verify blueonyx exists with ID"
|
|
id blueonyx > /dev/null 2>&1
|
|
r_checkExitStatus $?
|
|
r_log "shadow" "Verify /etc/passwd"
|
|
grep -q "^blueonyx" /etc/passwd
|
|
r_checkExitStatus $?
|
|
|
|
# chage
|
|
r_log "shadow" "Verify chage utility"
|
|
echo "obsidian" | passwd --stdin obsidian
|
|
chage -d 2012-11-20 obsidian
|
|
r_checkExitStatus $?
|
|
|
|
r_log "shadow" "Verify last password change is correct"
|
|
chage -l obsidian | grep Last | grep -q "Nov 20, 2012"
|
|
r_checkExitStatus $?
|
|
|
|
# userdel
|
|
r_log "shadow" "Delete the users we created: obsidian"
|
|
userdel -rf obsidian
|
|
r_checkExitStatus $?
|
|
r_log "shadow" "Delete the users we created: blueonyx"
|
|
userdel -rf blueonyx
|
|
r_checkExitStatus $?
|
|
|
|
r_log "shadow" "Verify they do not exist"
|
|
grep -qE "^obsidian|^blueonyx" /etc/passwd
|
|
ret_val=$?
|
|
if [ "$ret_val" -ne 0 ]; then
|
|
r_checkExitStatus 0
|
|
else
|
|
r_log "shadow" "The users still exist."
|
|
r_checkExitStatus 1
|
|
fi
|