#!/usr/athena/bin/perl

require 'sys/file.ph';

$masterfile = "/etc/master.passwd";
$tempfile = "/etc/master.passwd$$$^T";

open(MSTRPWD, $masterfile) || die "Can't open master.passwd file.. are you root?\n";
flock(MSTRPWD, &LOCK_EX);
open(TEMPFILE, ">$tempfile");
while (<MSTRPWD>){
    ($username,$passwd,$uid,$gid,$a, $b, $c,$gecos,$home,$shell) = split(':',$_);
    print TEMPFILE $username,':',$passwd,':',$uid,':', $gid,':',$a,':',$b,':',$c,':', $gecos,':',$home,':',$shell unless (grep(/^$username$/,@ARGV));
}
close(MSTRPWD);
close(TEMPFILE);
link($tempfile, $masterfile);
flock(MSTRPWD, &LOCK_UN);
`/usr/sbin/pwd_mkdb -p $tempfile`;
