summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2009-12-08 14:51:29 -0800
committerStephen Hemminger <stephen.hemminger@vyatta.com>2009-12-08 14:51:29 -0800
commit1bc0fdfe092c6a3e2efff1dc644cde138fa0ab98 (patch)
treee6a8784c1a74afaef344cc6c37188d36c619c410 /lib
parentf61f4f85b6a84e2d0c82c81ec4e9031dd6a9b9e2 (diff)
parentf956bfc6ee753fbbf251a7c43e7ad2573aa89c83 (diff)
downloadvyatta-cfg-system-1bc0fdfe092c6a3e2efff1dc644cde138fa0ab98.tar.gz
vyatta-cfg-system-1bc0fdfe092c6a3e2efff1dc644cde138fa0ab98.zip
Merge branch 'kenwood' of 192.168.100.1:git/vyatta-cfg-system into kenwood
Diffstat (limited to 'lib')
-rwxr-xr-xlib/Vyatta/Login/User.pm12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/Vyatta/Login/User.pm b/lib/Vyatta/Login/User.pm
index 3b1170ff..b03b90b7 100755
--- a/lib/Vyatta/Login/User.pm
+++ b/lib/Vyatta/Login/User.pm
@@ -159,14 +159,18 @@ sub update {
my %users = $uconfig->listNodeStatus();
die "All users deleted!\n" unless %users;
- die "User root cannot be deleted\n"
- if (! defined $users{'root'} || $users{'root'} eq 'deleted');
foreach my $user ( keys %users ) {
my $state = $users{$user};
if ( $state eq 'deleted' ) {
- system("sudo userdel -r '$user'") == 0
- or die "userdel failed: $?\n";
+ if ($user eq 'root') {
+ warn "Disabling root account, instead of deleting\n";
+ system ('sudo usermod -p ! root') == 0
+ or die "usermod of root failed: $?\n";
+ } else {
+ system("sudo userdel -r '$user'") == 0
+ or die "userdel of $user failed: $?\n";
+ }
next;
}