55 lines
942 B
Plaintext
55 lines
942 B
Plaintext
|
#!/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()
|
||
|
{
|
||
|
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 "pwck accepts valid password file "
|
||
|
msg=$(pwck -r | grep -v "^user .*: directory .* does not exist$")
|
||
|
echo msg: $msg
|
||
|
test "$msg" = "pwck: no changes"
|
||
|
echo " OK"
|
||
|
echo "grpck accepts valid password file "
|
||
|
msg=$(grpck -r)
|
||
|
test "$msg" = ""
|
||
|
echo " OK"
|
||
|
|