summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog7
-rwxr-xr-xlib/Vyatta/Login/User.pm7
2 files changed, 12 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index 732a2c6b..a2b0ab99 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+vyatta-cfg-system (0.16.31) unstable; urgency=low
+
+ * Allow local user (non vbash) accounts
+ * Make message clearer
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 27 Jan 2010 18:21:04 -0800
+
vyatta-cfg-system (0.16.30) unstable; urgency=low
* Don't delete non-user accounts
diff --git a/lib/Vyatta/Login/User.pm b/lib/Vyatta/Login/User.pm
index 3038c467..11cf7f23 100755
--- a/lib/Vyatta/Login/User.pm
+++ b/lib/Vyatta/Login/User.pm
@@ -176,8 +176,11 @@ sub _local_users {
my @users;
setpwent();
- while ( my ($name, undef, $uid) = getpwent() ) {
+ while ( my ($name, undef, $uid, undef, undef, undef,
+ undef, undef, $shell) = getpwent() ) {
next unless ($uid >= 1000 && $uid <= 29999);
+ next unless $shell eq '/bin/vbash';
+
push @users, $name;
}
endpwent();
@@ -212,7 +215,7 @@ sub update {
# did we see this user in configuration?
next if defined $users{$user};
- warn "User $user not listed in current configuration\n";
+ warn "removing $user not listed in current configuration\n";
# Remove user account but leave home directory to be safe
system("sudo userdel $user") == 0
or die "Attempt to delete user $user failed: $!";