65269966d5
Avoid messages on, stderr. Make sure the process started by su is actually started when userdel is run.
65 lines
1.4 KiB
Bash
Executable File
65 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
cd $(dirname $0)
|
|
|
|
. ../../common/config.sh
|
|
. ../../common/log.sh
|
|
|
|
log_start "$0" "userdel accepts when the user is not is shadow"
|
|
|
|
save_config
|
|
|
|
# restore the files on exit
|
|
trap 'log_status "$0" "FAILURE"; restore_config; kill %1' 0
|
|
|
|
change_config
|
|
|
|
echo -n "Create a process for foo (su -l foo -c \"sleep 10\")..."
|
|
su -l foo -c "sleep 10" 2>/dev/null &
|
|
echo "OK"
|
|
|
|
# Make sure su was started.
|
|
sleep 1
|
|
|
|
echo -n "Delete user foo (userdel foo)..."
|
|
userdel foo 2>tmp/userdel.err && exit 1 || {
|
|
status=$?
|
|
}
|
|
echo "OK"
|
|
|
|
echo -n "Check returned status ($status)..."
|
|
test "$status" = "8"
|
|
echo "OK"
|
|
|
|
echo "userdel reported:"
|
|
echo "======================================================================="
|
|
cat tmp/userdel.err
|
|
echo "======================================================================="
|
|
echo -n "Check that there were a failure message..."
|
|
diff -au data/userdel.err tmp/userdel.err
|
|
echo "error message OK."
|
|
rm -f tmp/userdel.err
|
|
|
|
kill %1 || true
|
|
wait %1 || true
|
|
|
|
echo -n "Check the passwd file..."
|
|
../../common/compare_file.pl config/etc/passwd /etc/passwd
|
|
echo "OK"
|
|
echo -n "Check the group file..."
|
|
../../common/compare_file.pl config/etc/group /etc/group
|
|
echo "OK"
|
|
echo -n "Check the shadow file..."
|
|
../../common/compare_file.pl config/etc/gshadow /etc/gshadow
|
|
echo "OK"
|
|
echo -n "Check the gshadow file..."
|
|
../../common/compare_file.pl config/etc/gshadow /etc/gshadow
|
|
echo "OK"
|
|
|
|
log_status "$0" "SUCCESS"
|
|
restore_config
|
|
trap '' 0
|
|
|