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:
59
tests/chsh/14_chsh_locked_passwd/chsh.test
Executable file
59
tests/chsh/14_chsh_locked_passwd/chsh.test
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
. ../../common/config.sh
|
||||
. ../../common/log.sh
|
||||
|
||||
log_start "$0" "chsh warns when passwd is already locked"
|
||||
|
||||
save_config
|
||||
|
||||
# restore the files on exit
|
||||
trap 'log_status "$0" "FAILURE"; restore_config; rm -f /etc/passwd.lock' 0
|
||||
|
||||
change_config
|
||||
|
||||
echo -n "Create lock file for /etc/passwd..."
|
||||
touch /etc/passwd.lock
|
||||
echo "done"
|
||||
|
||||
echo -n "Change shell (chsh -s /bin/bash bin)..."
|
||||
chsh -s /bin/bash bin 2>tmp/chsh.err && exit 1 || {
|
||||
status=$?
|
||||
}
|
||||
echo "OK"
|
||||
rm -f /etc/passwd.lock
|
||||
|
||||
echo -n "Check returned status ($status)..."
|
||||
test "$status" = "1"
|
||||
echo "OK"
|
||||
|
||||
echo "chsh reported:"
|
||||
echo "======================================================================="
|
||||
cat tmp/chsh.err
|
||||
echo "======================================================================="
|
||||
echo -n "Check the error message..."
|
||||
diff -au data/chsh.err tmp/chsh.err
|
||||
echo "error message OK."
|
||||
rm -f tmp/chsh.err
|
||||
|
||||
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/shadow /etc/shadow
|
||||
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
|
||||
|
||||
0
tests/chsh/14_chsh_locked_passwd/config.txt
Normal file
0
tests/chsh/14_chsh_locked_passwd/config.txt
Normal file
42
tests/chsh/14_chsh_locked_passwd/config/etc/group
Normal file
42
tests/chsh/14_chsh_locked_passwd/config/etc/group
Normal file
@@ -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:
|
||||
42
tests/chsh/14_chsh_locked_passwd/config/etc/gshadow
Normal file
42
tests/chsh/14_chsh_locked_passwd/config/etc/gshadow
Normal file
@@ -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::
|
||||
26
tests/chsh/14_chsh_locked_passwd/config/etc/passwd
Normal file
26
tests/chsh/14_chsh_locked_passwd/config/etc/passwd
Normal file
@@ -0,0 +1,26 @@
|
||||
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
|
||||
myuser1:x:424242:424242::/home:/bin/bash
|
||||
myuser2:x:424243:424242::/home:/bin/bash
|
||||
myuser3:x:424244:424242::/home:/bin/bash
|
||||
myuser4:x:424245:424242::/home:/bin/bash
|
||||
myuser5:x:424246:424242::/home:/bin/bash
|
||||
myuser6:x:424247:424242::/home:/bin/bash
|
||||
myuser7:x:424248:424242::/home:/bin/bash
|
||||
26
tests/chsh/14_chsh_locked_passwd/config/etc/shadow
Normal file
26
tests/chsh/14_chsh_locked_passwd/config/etc/shadow
Normal file
@@ -0,0 +1,26 @@
|
||||
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:::
|
||||
myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:::
|
||||
myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5:::
|
||||
myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0:
|
||||
myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1:
|
||||
myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0::
|
||||
myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1::
|
||||
myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1::
|
||||
2
tests/chsh/14_chsh_locked_passwd/data/chsh.err
Normal file
2
tests/chsh/14_chsh_locked_passwd/data/chsh.err
Normal file
@@ -0,0 +1,2 @@
|
||||
chsh: existing lock file /etc/passwd.lock without a PID
|
||||
chsh: cannot lock /etc/passwd; try again later.
|
||||
Reference in New Issue
Block a user