shadow/tests/cktools/01/run2

63 lines
1.1 KiB
Plaintext
Raw Normal View History

#!/bin/sh
set -e
cd $(dirname $0)
# Rational:
# Test that useradd can add an user and userdel removes it.
save()
{
[ ! -d tmp ] && mkdir tmp
for i in passwd group shadow gshadow
do
[ -f /etc/$i ] && cp /etc/$i tmp/$i
done
true
}
restore()
{
rm -f tmp/err tmp/out
for i in passwd group shadow gshadow
do
[ -f tmp/$i ] && cp tmp/$i /etc/$i && rm tmp/$i
done
rmdir tmp
}
save
# restore the files on exit
trap 'restore' 0
for i in passwd group shadow gshadow
do
cp data/$i /etc
done
lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ")
lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ")
lines_group=$(wc -l /etc/group | cut -f1 -d" ")
lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ")
echo -n "Add an user without an entry in shadow "
echo "test:x:10002:10002::/tmp:/bin/false" >> /etc/passwd
echo "OK"
echo "Check that pwck detects it "
pwck -r > tmp/out 2> tmp/err || true
diff -au data/run2.out tmp/out
diff -au data/run2.err tmp/err
echo " OK"
echo "grpck accepts valid password file "
msg=$(grpck -r)
test "$msg" = ""
echo " OK"
#echo -n "Make sure pwck can fix it "
#pwcd
#echo "OK"