Add tests from the old svn tree
We're losing the svn history (which we could probably keep if we tried hard enough) but don't consider that worthwhile. Note these tests are destructive, so run them only in a throwaway environment like a chroot, container, or vm. The tests/run.all script should be the one which launches all the tests. Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
root:*:0:
|
||||
daemon:*:1:
|
||||
bin:*:2:
|
||||
sys:*:3:
|
||||
adm:*:4:
|
||||
tty:*:5:
|
||||
disk:*:6:
|
||||
lp:*:7:
|
||||
mail:*:8:
|
||||
news:*:9:
|
||||
uucp:*:10:
|
||||
man:*:12:
|
||||
proxy:*:13:
|
||||
kmem:*:15:
|
||||
dialout:*:20:
|
||||
fax:*:21:
|
||||
voice:*:22:
|
||||
cdrom:*:24:
|
||||
floppy:*:25:
|
||||
tape:*:26:
|
||||
sudo:*:27:
|
||||
audio:*:29:
|
||||
dip:*:30:
|
||||
www-data:*:33:
|
||||
backup:*:34:
|
||||
operator:*:37:
|
||||
list:*:38:
|
||||
irc:*:39:
|
||||
src:*:40:
|
||||
gnats:*:41:
|
||||
shadow:*:42:
|
||||
utmp:*:43:
|
||||
video:*:44:
|
||||
sasl:*:45:
|
||||
plugdev:*:46:
|
||||
staff:*:50:
|
||||
games:*:60:
|
||||
users:*:100:
|
||||
nogroup:*:65534:
|
||||
crontab:x:101:
|
||||
Debian-exim:x:102:
|
||||
myuser:x:424242:
|
||||
@@ -0,0 +1,21 @@
|
||||
root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:0:0:root:/root:/bin/bash
|
||||
daemon:*:1:1:daemon:/usr/sbin:/bin/sh
|
||||
bin:*:2:2:bin:/bin:/bin/sh
|
||||
sys:*:3:3:sys:/dev:/bin/sh
|
||||
sync:*:4:65534:sync:/bin:/bin/sync
|
||||
games:*:5:60:games:/usr/games:/bin/sh
|
||||
man:*:6:12:man:/var/cache/man:/bin/sh
|
||||
lp:*:7:7:lp:/var/spool/lpd:/bin/sh
|
||||
mail:*:8:8:mail:/var/mail:/bin/sh
|
||||
news:*:9:9:news:/var/spool/news:/bin/sh
|
||||
uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh
|
||||
proxy:*:13:13:proxy:/bin:/bin/sh
|
||||
www-data:*:33:33:www-data:/var/www:/bin/sh
|
||||
backup:*:34:34:backup:/var/backups:/bin/sh
|
||||
list:*:38:38:Mailing List Manager:/var/list:/bin/sh
|
||||
irc:*:39:39:ircd:/var/run/ircd:/bin/sh
|
||||
gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
|
||||
nobody:*:65534:65534:nobody:/nonexistent:/bin/sh
|
||||
Debian-exim:!:102:102::/var/spool/exim4:/bin/false
|
||||
myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:424242:424242::/home:/bin/bash
|
||||
testsuite::424243:424243::/home:/bin/bash
|
||||
@@ -0,0 +1,42 @@
|
||||
root:x:0:
|
||||
daemon:x:1:
|
||||
bin:x:2:
|
||||
sys:x:3:
|
||||
adm:x:4:
|
||||
tty:x:5:
|
||||
disk:x:6:
|
||||
lp:x:7:
|
||||
mail:x:8:
|
||||
news:x:9:
|
||||
uucp:x:10:
|
||||
man:x:12:
|
||||
proxy:x:13:
|
||||
kmem:x:15:
|
||||
dialout:x:20:
|
||||
fax:x:21:
|
||||
voice:x:22:
|
||||
cdrom:x:24:
|
||||
floppy:x:25:
|
||||
tape:x:26:
|
||||
sudo:x:27:
|
||||
audio:x:29:
|
||||
dip:x:30:
|
||||
www-data:x:33:
|
||||
backup:x:34:
|
||||
operator:x:37:
|
||||
list:x:38:
|
||||
irc:x:39:
|
||||
src:x:40:
|
||||
gnats:x:41:
|
||||
shadow:x:42:
|
||||
utmp:x:43:
|
||||
video:x:44:
|
||||
sasl:x:45:
|
||||
plugdev:x:46:
|
||||
staff:x:50:
|
||||
games:x:60:
|
||||
users:x:100:
|
||||
nogroup:x:65534:
|
||||
crontab:x:101:
|
||||
Debian-exim:x:102:
|
||||
myuser:x:424242:
|
||||
@@ -0,0 +1,42 @@
|
||||
root:*::
|
||||
daemon:*::
|
||||
bin:*::
|
||||
sys:*::
|
||||
adm:*::
|
||||
tty:*::
|
||||
disk:*::
|
||||
lp:*::
|
||||
mail:*::
|
||||
news:*::
|
||||
uucp:*::
|
||||
man:*::
|
||||
proxy:*::
|
||||
kmem:*::
|
||||
dialout:*::
|
||||
fax:*::
|
||||
voice:*::
|
||||
cdrom:*::
|
||||
floppy:*::
|
||||
tape:*::
|
||||
sudo:*::
|
||||
audio:*::
|
||||
dip:*::
|
||||
www-data:*::
|
||||
backup:*::
|
||||
operator:*::
|
||||
list:*::
|
||||
irc:*::
|
||||
src:*::
|
||||
gnats:*::
|
||||
shadow:*::
|
||||
utmp:*::
|
||||
video:*::
|
||||
sasl:*::
|
||||
plugdev:*::
|
||||
staff:*::
|
||||
games:*::
|
||||
users:*::
|
||||
nogroup:*::
|
||||
crontab:x::
|
||||
Debian-exim:x::
|
||||
myuser:x::
|
||||
@@ -0,0 +1,21 @@
|
||||
root:x:0:0:root:/root:/bin/bash
|
||||
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
|
||||
bin:x:2:2:bin:/bin:/bin/sh
|
||||
sys:x:3:3:sys:/dev:/bin/sh
|
||||
sync:x:4:65534:sync:/bin:/bin/sync
|
||||
games:x:5:60:games:/usr/games:/bin/sh
|
||||
man:x:6:12:man:/var/cache/man:/bin/sh
|
||||
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
|
||||
mail:x:8:8:mail:/var/mail:/bin/sh
|
||||
news:x:9:9:news:/var/spool/news:/bin/sh
|
||||
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
|
||||
proxy:x:13:13:proxy:/bin:/bin/sh
|
||||
www-data:x:33:33:www-data:/var/www:/bin/sh
|
||||
backup:x:34:34:backup:/var/backups:/bin/sh
|
||||
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
|
||||
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
|
||||
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
|
||||
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
|
||||
Debian-exim:x:102:102::/var/spool/exim4:/bin/false
|
||||
myuser:x:424242:424242::/home:/bin/bash
|
||||
testsuite:x:424243:424243::/home:/bin/bash
|
||||
@@ -0,0 +1,21 @@
|
||||
root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7:::
|
||||
daemon:*:12977:0:99999:7:::
|
||||
bin:*:12977:0:99999:7:::
|
||||
sys:*:12977:0:99999:7:::
|
||||
sync:*:12977:0:99999:7:::
|
||||
games:*:12977:0:99999:7:::
|
||||
man:*:12977:0:99999:7:::
|
||||
lp:*:12977:0:99999:7:::
|
||||
mail:*:12977:0:99999:7:::
|
||||
news:*:12977:0:99999:7:::
|
||||
uucp:*:12977:0:99999:7:::
|
||||
proxy:*:12977:0:99999:7:::
|
||||
www-data:*:12977:0:99999:7:::
|
||||
backup:*:12977:0:99999:7:::
|
||||
list:*:12977:0:99999:7:::
|
||||
irc:*:12977:0:99999:7:::
|
||||
gnats:*:12977:0:99999:7:::
|
||||
nobody:*:12977:0:99999:7:::
|
||||
Debian-exim:!:12977:0:99999:7:::
|
||||
myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:::
|
||||
testsuite::12992:0:99999:7:::
|
||||
Executable
+117
@@ -0,0 +1,117 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
# Rational:
|
||||
# Test that su can be used to switch to root and to a normal account
|
||||
|
||||
# no testsuite password
|
||||
# root password: rootF00barbaz
|
||||
# myuser password: myuserF00barbaz
|
||||
|
||||
save()
|
||||
{
|
||||
[ ! -d tmp ] && mkdir tmp
|
||||
for i in passwd group shadow gshadow
|
||||
do
|
||||
[ -f /etc/$i ] && cp -dp /etc/$i tmp/$i
|
||||
[ -f /etc/$i- ] && cp -dp /etc/$i- tmp/$i-
|
||||
done
|
||||
DATE=$(date '+%s')
|
||||
DATE=$(( DATE/3600/24 ))
|
||||
WARN=$( egrep "^PASS_WARN_AGE" /etc/login.defs | { read var val ; echo $val; } )
|
||||
saveifs=$IFS
|
||||
IFS=":"
|
||||
cat data/2/shadow |
|
||||
while read f1 f2 f3 f4 f5 f6 f7 f8 fres
|
||||
do
|
||||
echo "$f1:$f2:$DATE:$f4:$f5:$WARN:::"
|
||||
done > tmp/shadow.2
|
||||
IFS=$saveifs
|
||||
}
|
||||
|
||||
restore()
|
||||
{
|
||||
for i in passwd group shadow gshadow
|
||||
do
|
||||
[ -f tmp/$i ] && cp -dp tmp/$i /etc/$i && rm tmp/$i
|
||||
[ -f tmp/$i- ] && cp -dp tmp/$i- /etc/$i- && rm tmp/$i-
|
||||
done
|
||||
rm tmp/shadow.2
|
||||
rmdir tmp
|
||||
}
|
||||
|
||||
save
|
||||
|
||||
# restore the files on exit
|
||||
trap 'restore' 0
|
||||
|
||||
for i in passwd group shadow gshadow
|
||||
do
|
||||
rm -f /etc/$i
|
||||
done
|
||||
for i in passwd group
|
||||
do
|
||||
cp -f data/1/$i /etc/
|
||||
done
|
||||
|
||||
echo -n "pwconv "
|
||||
pwconv
|
||||
echo -n "checking..."
|
||||
diff -au /etc/passwd data/2/passwd
|
||||
diff -au /etc/shadow tmp/shadow.2
|
||||
diff -au /etc/group data/1/group
|
||||
perms=$(stat -c "%a %u %G" /etc/shadow)
|
||||
if [ "$perms" != "440 0 shadow" ]
|
||||
then
|
||||
echo "Wrong mode or owners on /etc/shadow."
|
||||
exit 1
|
||||
fi
|
||||
if [ -f /etc/gshadow ]
|
||||
then
|
||||
echo "/etc/gshadow should not exist."
|
||||
exit 1
|
||||
fi
|
||||
echo "OK"
|
||||
|
||||
echo -n "grpconv "
|
||||
grpconv
|
||||
echo -n "checking..."
|
||||
diff -au /etc/passwd data/2/passwd
|
||||
diff -au /etc/shadow tmp/shadow.2
|
||||
diff -au /etc/group data/2/group
|
||||
diff -au /etc/gshadow data/2/gshadow
|
||||
echo "OK"
|
||||
|
||||
echo -n "pwunconv "
|
||||
pwunconv
|
||||
echo -n "checking..."
|
||||
diff -au /etc/passwd data/1/passwd
|
||||
if [ -f /etc/shadow ]
|
||||
then
|
||||
echo "/etc/shadow should not exist. "
|
||||
exit 1
|
||||
fi
|
||||
diff -au /etc/group data/2/group
|
||||
diff -au /etc/gshadow data/2/gshadow
|
||||
echo "OK"
|
||||
|
||||
echo -n "grpunconv "
|
||||
grpunconv
|
||||
echo -n "checking..."
|
||||
diff -au /etc/passwd data/1/passwd
|
||||
if [ -f /etc/shadow ]
|
||||
then
|
||||
echo "/etc/shadow should not exist. "
|
||||
exit 1
|
||||
fi
|
||||
diff -au /etc/group data/1/group
|
||||
if [ -f /etc/gshadow ]
|
||||
then
|
||||
echo "/etc/gshadow should not exist. "
|
||||
exit 1
|
||||
fi
|
||||
echo "OK"
|
||||
|
||||
Reference in New Issue
Block a user