From 87c0562ee477ebc37248c00cdcfe93ecfcf31102 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 15 Mar 2010 09:17:46 -0700 Subject: Use userdel -f to force removal of user This is the documented way to remove user that is still logged in. It also removes home directory, which is necessary as well. --- lib/Vyatta/Login/User.pm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/Vyatta/Login/User.pm b/lib/Vyatta/Login/User.pm index a65e5cb1..edba13ac 100755 --- a/lib/Vyatta/Login/User.pm +++ b/lib/Vyatta/Login/User.pm @@ -109,12 +109,7 @@ sub _delete_user { } elsif ( getlogin() eq $user ) { die "Attempting to delete current user: $user\n"; } else { - # This logs out user (so we can delete it) - system("pkill -HUP -U $user"); - sleep(1); - system("pkill -9 -U $user"); - - system("userdel $user") == 0 + system("userdel -f $user") == 0 or die "userdel of $user failed: $?\n"; } } -- cgit v1.2.3 From fa0e2d31d5964c7d7bb0f8d34b568d065cf38890 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 15 Mar 2010 10:43:58 -0700 Subject: Better version of forcing user logout Use warning and hup signal to force user to log out. --- lib/Vyatta/Login/User.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/Vyatta/Login/User.pm b/lib/Vyatta/Login/User.pm index edba13ac..afc3cf53 100755 --- a/lib/Vyatta/Login/User.pm +++ b/lib/Vyatta/Login/User.pm @@ -109,7 +109,13 @@ sub _delete_user { } elsif ( getlogin() eq $user ) { die "Attempting to delete current user: $user\n"; } else { - system("userdel -f $user") == 0 + if (`who | grep "^$user"` ne '') { + warn "$user is logged in, forcing logout\n"; + system("pkill -HUP -u $user"); + } + system("pkill -9 -u $user"); + + system("userdel $user") == 0 or die "userdel of $user failed: $?\n"; } } -- cgit v1.2.3 From 90ce946ad7adec23d2c0a7aadb1997ebf49b5fbf Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 15 Mar 2010 10:45:04 -0700 Subject: 0.17.21 --- debian/changelog | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/debian/changelog b/debian/changelog index 38ed8db4..fd2d376f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +vyatta-cfg-system (0.17.21) unstable; urgency=low + + * Make /var/run/vyatta and /var/log/vyatta + * Use userdel -f to force removal of user + * Better version of forcing user logout + + -- Stephen Hemminger Mon, 15 Mar 2010 10:45:04 -0700 + vyatta-cfg-system (0.17.20) unstable; urgency=low [ Stephen Hemminger ] -- cgit v1.2.3 From 00da1455d0f35193aa6aae2d7e74edb48971e778 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 15 Mar 2010 11:10:23 -0700 Subject: Remove Radius Server config file on reboot The radius server config file needs to be removed. It gets rebuilt later in config process. --- scripts/rl-system.init | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/rl-system.init b/scripts/rl-system.init index 607bbb45..e7eaed14 100755 --- a/scripts/rl-system.init +++ b/scripts/rl-system.init @@ -171,6 +171,7 @@ setup_ntp_config_file () { # system defaults. security_reset () { # restore PAM back to virgin state (no radius other services) + rm -f /etc/pam_radius_auth.conf if grep -q radius /etc/pam.d/common-auth then pam-auth-update --remove radius fi -- cgit v1.2.3