From: Nick J. <nje...@us...> - 2001-10-07 13:44:53
|
Update of /cvsroot/sandweb/sandweb/bin In directory usw-pr-cvs1:/tmp/cvs-serv28829 Modified Files: sandweb-admin Log Message: sandweb-admin - fixed some bugs & removed the prompt for "full name" when creating a new user. This is no longer stored in the password file, but rather the users .prefs.cfg Index: sandweb-admin =================================================================== RCS file: /cvsroot/sandweb/sandweb/bin/sandweb-admin,v retrieving revision 1.5 retrieving revision 1.6 diff -U2 -r1.5 -r1.6 --- sandweb-admin 2001/10/07 13:32:10 1.5 +++ sandweb-admin 2001/10/07 13:44:50 1.6 @@ -105,51 +105,69 @@ #} - open(PW, ">>$passwd_file") or fexit('26', "Unable to open $passwd_file : $!"); - print PW "$name:$uid:$enc_pwd\n"; - close PW; - - # added user's sandbox dir - - system('mkdir', "$users_dir/$name"); - # added user's prefs dir + # added user's sandbox dir + system('mkdir', "$users_dir/$name"); + if ($?) { + fexit('27', "Unable to create $name.\n"); + } - system('mkdir', "$data_dir/$name"); + # added user's prefs dir + system('mkdir', "$data_dir/$name"); - print "Username $name successfully added!\n"; - exit 0; + if (!$?) { + print "Username $name successfully added!\n"; + } + else { + system('rm', '-rf', "$users_dir/$name"); + fexit('28', "Unable to create $name.\n"); + } + + open(PW, ">>$passwd_file") or + fexit('26', "Unable to open $passwd_file : $!"); + print PW "$name:$uid:$enc_pwd\n"; + close PW; + + exit 0; } sub remove_user { - my $name = shift; - if (! $name) { - print "must specify a username to remove!\n"; - exit 1; - } - - open(PW, "<$passwd_file") or fexit('2', "Unable to open $passwd_file : $!"); - my @file = <PW>; - close PW; - - my @o_file = (); - foreach my $line (@file) { - my ($un, $uid, $pw, $fn) = split(':', $line); - unless ($un eq $name) { - push @o_file, $line; - } - } - - open(PW, ">$passwd_file") or fexit('2', "Unable to open $passwd_file : $!"); - print PW join('', @o_file); - close PW; - - system('rm', '-rf', "$users_dir/$name"); + my $name = shift; + if (! $name) { + print "must specify a username to remove!\n"; + exit 1; + } + + open(PW, "<$passwd_file") or + fexit('2', "Unable to open $passwd_file : $!"); + my @file = <PW>; + close PW; + + my @o_file = (); + foreach my $line (@file) { + my ($un, $uid, $pw, $fn) = split(':', $line); + unless ($un eq $name) { + push @o_file, $line; + } + } + + open(PW, ">$passwd_file") or + fexit('3', "Unable to open $passwd_file : $!"); + print PW join('', @o_file); + close PW; + + system('rm', '-rf', "$users_dir/$name"); + if (!$?) { + print "Username $name successfully removed!\n"; + } + else { + system('rm', '-rf', "$users_dir/$name"); + fexit('38', "Unable to remove $name.\n"); + } - print "Username $name successfully removed!\n"; - exit 0; + exit 0; } sub list_users { - open(PW, "<$passwd_file") or fexit('2', "Unable to open $passwd_file : $!"); + open(PW, "<$passwd_file") or fexit('4', "Unable to open $passwd_file : $!"); my @file = <PW>; close PW; @@ -159,6 +177,6 @@ foreach my $line (@file) { chomp $line; - my ($un, $uid, $pw, $fn) = split(':', $line); - print "$uid. $un '$fn'\n"; + my ($un, $uid, $pw) = split(':', $line); + print "$uid. $un\n"; } print "\n"; |