diff options
Diffstat (limited to '')
-rw-r--r-- | tests/convtools/01/data/1/group | 42 | ||||
-rw-r--r-- | tests/convtools/01/data/1/passwd | 21 | ||||
-rw-r--r-- | tests/convtools/01/data/2/group | 42 | ||||
-rw-r--r-- | tests/convtools/01/data/2/gshadow | 42 | ||||
-rw-r--r-- | tests/convtools/01/data/2/passwd | 21 | ||||
-rw-r--r-- | tests/convtools/01/data/2/shadow | 21 | ||||
-rwxr-xr-x | tests/convtools/01/run | 117 |
7 files changed, 306 insertions, 0 deletions
diff --git a/tests/convtools/01/data/1/group b/tests/convtools/01/data/1/group new file mode 100644 index 0000000..a34689a --- /dev/null +++ b/tests/convtools/01/data/1/group @@ -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: diff --git a/tests/convtools/01/data/1/passwd b/tests/convtools/01/data/1/passwd new file mode 100644 index 0000000..a9a08c8 --- /dev/null +++ b/tests/convtools/01/data/1/passwd @@ -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 diff --git a/tests/convtools/01/data/2/group b/tests/convtools/01/data/2/group new file mode 100644 index 0000000..245cc9c --- /dev/null +++ b/tests/convtools/01/data/2/group @@ -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: diff --git a/tests/convtools/01/data/2/gshadow b/tests/convtools/01/data/2/gshadow new file mode 100644 index 0000000..25bd55b --- /dev/null +++ b/tests/convtools/01/data/2/gshadow @@ -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:: diff --git a/tests/convtools/01/data/2/passwd b/tests/convtools/01/data/2/passwd new file mode 100644 index 0000000..e8242fe --- /dev/null +++ b/tests/convtools/01/data/2/passwd @@ -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 diff --git a/tests/convtools/01/data/2/shadow b/tests/convtools/01/data/2/shadow new file mode 100644 index 0000000..6689e4f --- /dev/null +++ b/tests/convtools/01/data/2/shadow @@ -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::: diff --git a/tests/convtools/01/run b/tests/convtools/01/run new file mode 100755 index 0000000..81ceef1 --- /dev/null +++ b/tests/convtools/01/run @@ -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" + |