Test userdel/usermod when homedir is a symlink
This commit is contained in:
parent
3fb292f3c7
commit
6b65c6aeae
@ -791,6 +791,7 @@ run_test ./usertools/userdel/06_userdel_no_usergroup/userdel.test
|
|||||||
run_test ./usertools/userdel/07_userdel_usergroup_not_primary/userdel.test
|
run_test ./usertools/userdel/07_userdel_usergroup_not_primary/userdel.test
|
||||||
run_test ./usertools/userdel/08_userdel_usergroup_with_other_members/userdel.test
|
run_test ./usertools/userdel/08_userdel_usergroup_with_other_members/userdel.test
|
||||||
run_test ./usertools/userdel/09_userdel_usergroup_no_other_members_in_gshadow/userdel.test
|
run_test ./usertools/userdel/09_userdel_usergroup_no_other_members_in_gshadow/userdel.test
|
||||||
|
run_test ./usertools/userdel/10_userdel_del_homedir_symlink/userdel.test
|
||||||
run_test ./usertools/usermod/01_usermod-p_no_shadow_file/usermod.test
|
run_test ./usertools/usermod/01_usermod-p_no_shadow_file/usermod.test
|
||||||
run_test ./usertools/usermod/02_usermod-p_no_shadow_entry/usermod.test
|
run_test ./usertools/usermod/02_usermod-p_no_shadow_entry/usermod.test
|
||||||
run_test ./usertools/usermod/03_usermod-p_no_shadow_entry_but_shadow_enabled/usermod.test
|
run_test ./usertools/usermod/03_usermod-p_no_shadow_entry_but_shadow_enabled/usermod.test
|
||||||
@ -842,6 +843,7 @@ run_test ./usertools/usermod/48_usermod-u_MAIL_FILE/usermod.test
|
|||||||
run_test ./usertools/usermod/49_usermod_change_gid+move_homedir_other_device/usermod.test
|
run_test ./usertools/usermod/49_usermod_change_gid+move_homedir_other_device/usermod.test
|
||||||
run_test ./usertools/usermod/50_usermod_change_uid+move_homedir/usermod.test
|
run_test ./usertools/usermod/50_usermod_change_uid+move_homedir/usermod.test
|
||||||
run_test ./usertools/usermod/51_usermod_change_gid+move_homedir/usermod.test
|
run_test ./usertools/usermod/51_usermod_change_gid+move_homedir/usermod.test
|
||||||
|
run_test ./usertools/usermod/52_usermod_move_homedir_symlink/usermod.test
|
||||||
run_test ./cptools/01/run1
|
run_test ./cptools/01/run1
|
||||||
run_test ./cptools/01/run2
|
run_test ./cptools/01/run2
|
||||||
run_test ./cptools/01/run3
|
run_test ./cptools/01/run3
|
||||||
|
@ -807,6 +807,7 @@ run_test ./usertools/userdel/06_userdel_no_usergroup/userdel.test
|
|||||||
run_test ./usertools/userdel/07_userdel_usergroup_not_primary/userdel.test
|
run_test ./usertools/userdel/07_userdel_usergroup_not_primary/userdel.test
|
||||||
run_test ./usertools/userdel/08_userdel_usergroup_with_other_members/userdel.test
|
run_test ./usertools/userdel/08_userdel_usergroup_with_other_members/userdel.test
|
||||||
run_test ./usertools/userdel/09_userdel_usergroup_no_other_members_in_gshadow/userdel.test
|
run_test ./usertools/userdel/09_userdel_usergroup_no_other_members_in_gshadow/userdel.test
|
||||||
|
run_test ./usertools/userdel/10_userdel_del_homedir_symlink/userdel.test
|
||||||
run_test ./usertools/usermod/01_usermod-p_no_shadow_file/usermod.test
|
run_test ./usertools/usermod/01_usermod-p_no_shadow_file/usermod.test
|
||||||
run_test ./usertools/usermod/02_usermod-p_no_shadow_entry/usermod.test
|
run_test ./usertools/usermod/02_usermod-p_no_shadow_entry/usermod.test
|
||||||
run_test ./usertools/usermod/03_usermod-p_no_shadow_entry_but_shadow_enabled/usermod.test
|
run_test ./usertools/usermod/03_usermod-p_no_shadow_entry_but_shadow_enabled/usermod.test
|
||||||
@ -858,6 +859,7 @@ run_test ./usertools/usermod/48_usermod-u_MAIL_FILE/usermod.test
|
|||||||
run_test ./usertools/usermod/49_usermod_change_gid+move_homedir_other_device/usermod.test
|
run_test ./usertools/usermod/49_usermod_change_gid+move_homedir_other_device/usermod.test
|
||||||
run_test ./usertools/usermod/50_usermod_change_uid+move_homedir/usermod.test
|
run_test ./usertools/usermod/50_usermod_change_uid+move_homedir/usermod.test
|
||||||
run_test ./usertools/usermod/51_usermod_change_gid+move_homedir/usermod.test
|
run_test ./usertools/usermod/51_usermod_change_gid+move_homedir/usermod.test
|
||||||
|
run_test ./usertools/usermod/52_usermod_move_homedir_symlink/usermod.test
|
||||||
run_test ./cptools/01/run1
|
run_test ./cptools/01/run1
|
||||||
run_test ./cptools/01/run2
|
run_test ./cptools/01/run2
|
||||||
run_test ./cptools/01/run3
|
run_test ./cptools/01/run3
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
user foo exists
|
@ -0,0 +1,36 @@
|
|||||||
|
# Default values for useradd(8)
|
||||||
|
#
|
||||||
|
# The SHELL variable specifies the default login shell on your
|
||||||
|
# system.
|
||||||
|
# Similar to DHSELL in adduser. However, we use "sh" here because
|
||||||
|
# useradd is a low level utility and should be as general
|
||||||
|
# as possible
|
||||||
|
SHELL=/bin/foobar
|
||||||
|
#
|
||||||
|
# The default group for users
|
||||||
|
# 100=users on Debian systems
|
||||||
|
# Same as USERS_GID in adduser
|
||||||
|
# This argument is used when the -n flag is specified.
|
||||||
|
# The default behavior (when -n and -g are not specified) is to create a
|
||||||
|
# primary user group with the same name as the user being added to the
|
||||||
|
# system.
|
||||||
|
GROUP=10
|
||||||
|
#
|
||||||
|
# The default home directory. Same as DHOME for adduser
|
||||||
|
HOME=/tmp
|
||||||
|
#
|
||||||
|
# The number of days after a password expires until the account
|
||||||
|
# is permanently disabled
|
||||||
|
INACTIVE=12
|
||||||
|
#
|
||||||
|
# The default expire date
|
||||||
|
EXPIRE=2007-12-02
|
||||||
|
#
|
||||||
|
# The SKEL variable specifies the directory containing "skeletal" user
|
||||||
|
# files; in other words, files such as a sample .profile that will be
|
||||||
|
# copied to the new user's home directory when it is created.
|
||||||
|
# SKEL=/etc/skel
|
||||||
|
#
|
||||||
|
# Defines whether the mail spool should be created while
|
||||||
|
# creating the account
|
||||||
|
# CREATE_MAIL_SPOOL=yes
|
@ -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:foo
|
||||||
|
nogroup:x:65534:
|
||||||
|
crontab:x:101:
|
||||||
|
Debian-exim:x:102:
|
||||||
|
foo:x:1000:
|
@ -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::
|
||||||
|
foo:*::
|
@ -0,0 +1,20 @@
|
|||||||
|
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
|
||||||
|
foo:x:1000:1000::/home/foo:/bin/false
|
@ -0,0 +1,20 @@
|
|||||||
|
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:::
|
||||||
|
foo:!:12977:0:99999:7:::
|
@ -0,0 +1,41 @@
|
|||||||
|
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:
|
@ -0,0 +1,41 @@
|
|||||||
|
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::
|
@ -0,0 +1,19 @@
|
|||||||
|
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
|
@ -0,0 +1,19 @@
|
|||||||
|
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:::
|
@ -0,0 +1 @@
|
|||||||
|
userdel: /home/foo is a symbolic link, not removing
|
72
tests/usertools/userdel/10_userdel_del_homedir_symlink/userdel.test
Executable file
72
tests/usertools/userdel/10_userdel_del_homedir_symlink/userdel.test
Executable file
@ -0,0 +1,72 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
. ../../../common/config.sh
|
||||||
|
. ../../../common/log.sh
|
||||||
|
|
||||||
|
log_start "$0" "userdel does not delete the user's home directory as symlink"
|
||||||
|
|
||||||
|
save_config
|
||||||
|
|
||||||
|
# restore the files on exit
|
||||||
|
trap 'log_status "$0" "FAILURE"; restore_config; rm -rf /var/mail/foo /home/foo /home/foo2' 0
|
||||||
|
|
||||||
|
change_config
|
||||||
|
|
||||||
|
mkdir /home/foo2
|
||||||
|
touch /home/foo2/file
|
||||||
|
chown -R foo:foo /home/foo2
|
||||||
|
ln -s foo2 /home/foo
|
||||||
|
touch /var/mail/foo
|
||||||
|
chown --no-dereference foo:foo /var/mail/foo /home/foo
|
||||||
|
|
||||||
|
echo -n "Delete user foo (userdel -r foo)..."
|
||||||
|
userdel -r foo 2>tmp/userdel.err && exit 1 || {
|
||||||
|
status=$?
|
||||||
|
}
|
||||||
|
echo "OK"
|
||||||
|
|
||||||
|
echo -n "Check returned status ($status)..."
|
||||||
|
test "$status" = "12"
|
||||||
|
echo "OK"
|
||||||
|
|
||||||
|
echo "userdel reported:"
|
||||||
|
echo "======================================================================="
|
||||||
|
cat tmp/userdel.err
|
||||||
|
echo "======================================================================="
|
||||||
|
echo -n "Check that there were a failure message..."
|
||||||
|
diff -au data/userdel.err tmp/userdel.err
|
||||||
|
echo "error message OK."
|
||||||
|
rm -f tmp/userdel.err
|
||||||
|
|
||||||
|
echo "The user should have been removed."
|
||||||
|
echo -n "Check the passwd file..."
|
||||||
|
../../../common/compare_file.pl data/passwd /etc/passwd
|
||||||
|
echo "OK"
|
||||||
|
echo -n "Check the group file..."
|
||||||
|
../../../common/compare_file.pl data/group /etc/group
|
||||||
|
echo "OK"
|
||||||
|
echo -n "Check the shadow file..."
|
||||||
|
../../../common/compare_file.pl data/shadow /etc/shadow
|
||||||
|
echo "OK"
|
||||||
|
echo -n "Check the gshadow file..."
|
||||||
|
../../../common/compare_file.pl data/gshadow /etc/gshadow
|
||||||
|
echo "OK"
|
||||||
|
echo -n "Check the user's home directory was not removed..."
|
||||||
|
test -L /home/foo
|
||||||
|
test -d /home/foo2
|
||||||
|
test -f /home/foo2/file
|
||||||
|
echo "OK"
|
||||||
|
echo -n "Check the user's mail spool was removed..."
|
||||||
|
test ! -f /var/mail/foo
|
||||||
|
echo "OK"
|
||||||
|
rm -rf /home/foo /home/foo2
|
||||||
|
|
||||||
|
|
||||||
|
log_status "$0" "SUCCESS"
|
||||||
|
restore_config
|
||||||
|
trap '' 0
|
||||||
|
|
@ -0,0 +1 @@
|
|||||||
|
user foo exists
|
@ -0,0 +1,36 @@
|
|||||||
|
# Default values for useradd(8)
|
||||||
|
#
|
||||||
|
# The SHELL variable specifies the default login shell on your
|
||||||
|
# system.
|
||||||
|
# Similar to DHSELL in adduser. However, we use "sh" here because
|
||||||
|
# useradd is a low level utility and should be as general
|
||||||
|
# as possible
|
||||||
|
SHELL=/bin/foobar
|
||||||
|
#
|
||||||
|
# The default group for users
|
||||||
|
# 100=users on Debian systems
|
||||||
|
# Same as USERS_GID in adduser
|
||||||
|
# This argument is used when the -n flag is specified.
|
||||||
|
# The default behavior (when -n and -g are not specified) is to create a
|
||||||
|
# primary user group with the same name as the user being added to the
|
||||||
|
# system.
|
||||||
|
GROUP=10
|
||||||
|
#
|
||||||
|
# The default home directory. Same as DHOME for adduser
|
||||||
|
HOME=/tmp
|
||||||
|
#
|
||||||
|
# The number of days after a password expires until the account
|
||||||
|
# is permanently disabled
|
||||||
|
INACTIVE=12
|
||||||
|
#
|
||||||
|
# The default expire date
|
||||||
|
EXPIRE=2007-12-02
|
||||||
|
#
|
||||||
|
# The SKEL variable specifies the directory containing "skeletal" user
|
||||||
|
# files; in other words, files such as a sample .profile that will be
|
||||||
|
# copied to the new user's home directory when it is created.
|
||||||
|
# SKEL=/etc/skel
|
||||||
|
#
|
||||||
|
# Defines whether the mail spool should be created while
|
||||||
|
# creating the account
|
||||||
|
# CREATE_MAIL_SPOOL=yes
|
@ -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:foo
|
||||||
|
nogroup:x:65534:
|
||||||
|
crontab:x:101:
|
||||||
|
Debian-exim:x:102:
|
||||||
|
foo:x:1000:
|
@ -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::
|
||||||
|
foo:*::
|
@ -0,0 +1,20 @@
|
|||||||
|
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
|
||||||
|
foo:x:1000:1000::/home/foo:/bin/false
|
@ -0,0 +1,20 @@
|
|||||||
|
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:::
|
||||||
|
foo:!:12977:0:99999:7:::
|
@ -0,0 +1,3 @@
|
|||||||
|
-rw-r--r-- foo:foo `/home/foo/toto'
|
||||||
|
drwxr-xr-x foo:foo `/home/foo/.'
|
||||||
|
drwxr-xr-x root:root `/home/foo/..'
|
@ -0,0 +1,2 @@
|
|||||||
|
drwxr-xr-x root:root `/home/foo2/.'
|
||||||
|
drwxr-xr-x root:root `/home/foo2/..'
|
@ -0,0 +1,20 @@
|
|||||||
|
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
|
||||||
|
foo:x:1000:1000::/home/foo3:/bin/false
|
@ -0,0 +1 @@
|
|||||||
|
usermod: directory /home/foo could not be moved
|
75
tests/usertools/usermod/52_usermod_move_homedir_symlink/usermod.test
Executable file
75
tests/usertools/usermod/52_usermod_move_homedir_symlink/usermod.test
Executable file
@ -0,0 +1,75 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
. ../../../common/config.sh
|
||||||
|
. ../../../common/log.sh
|
||||||
|
|
||||||
|
log_start "$0" "usermod can't move the user's home directory when it's a symlink"
|
||||||
|
|
||||||
|
save_config
|
||||||
|
|
||||||
|
# restore the files on exit
|
||||||
|
trap 'log_status "$0" "FAILURE"; restore_config; rm -rf /home/foo /home/foo2/file /home/foo2' 0
|
||||||
|
|
||||||
|
change_config
|
||||||
|
|
||||||
|
mkdir /home/foo2
|
||||||
|
echo toto > /home/foo2/file
|
||||||
|
ln -s foo2 /home/foo
|
||||||
|
chown -R foo:foo /home/foo /home/foo2
|
||||||
|
|
||||||
|
echo -n "Change the user's home directory (usermod -m -d /home/foo2 foo)..."
|
||||||
|
usermod -m -d /home/foo3 foo 2>tmp/usermod.err && exit 1 || {
|
||||||
|
status=$?
|
||||||
|
}
|
||||||
|
echo "OK"
|
||||||
|
|
||||||
|
echo -n "Check returned status ($status)..."
|
||||||
|
test "$status" = "12"
|
||||||
|
echo "OK"
|
||||||
|
|
||||||
|
echo "usermod reported:"
|
||||||
|
echo "======================================================================="
|
||||||
|
cat tmp/usermod.err
|
||||||
|
echo "======================================================================="
|
||||||
|
echo -n "Check the usage message..."
|
||||||
|
diff -au data/usermod.err tmp/usermod.err
|
||||||
|
echo "usage message OK."
|
||||||
|
rm -f tmp/usermod.err
|
||||||
|
|
||||||
|
echo "OK"
|
||||||
|
|
||||||
|
echo -n "Check the passwd file..."
|
||||||
|
../../../common/compare_file.pl data/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"
|
||||||
|
echo -n "Check that /home/foo is still a symlink..."
|
||||||
|
test -L /home/foo
|
||||||
|
echo "OK"
|
||||||
|
echo -n "Check that /home/foo2 was not removed..."
|
||||||
|
test -d /home/foo2
|
||||||
|
test -f /home/foo2/file
|
||||||
|
echo "OK"
|
||||||
|
echo -n "Check that /home/foo3 was not created..."
|
||||||
|
test ! -f /home/foo3
|
||||||
|
echo "OK"
|
||||||
|
|
||||||
|
echo -n "Remove the home directories..."
|
||||||
|
rm -rf /home/foo /home/foo2
|
||||||
|
echo "done"
|
||||||
|
|
||||||
|
log_status "$0" "SUCCESS"
|
||||||
|
restore_config
|
||||||
|
trap '' 0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user