File: //scripts.20110531.215904.25158/restoremail
#!/usr/bin/perl
print "Restore Mail for What User? ";
chomp($user = <STDIN>);
die "no such user $user" if (!getpwnam($user));
setuids($user);
chdir( (getpwnam($user))[7] );
chdir ("etc");
system("co","-f","passwd");
system("co","-f","shadow");
system("co","-f","quota");
sub setuids {
my($user) = $_[0];
my($uid,$gid);
(undef,undef,$uid,$gid) = getpwnam($user);
if ( ! ($( = int($gid)) ) {
print "error setting gid\n";
exit;
}
if ( ! ($) = "$gid $gid") ) {
print "error setting gid\n";
exit;
}
if (! (($< = $uid) && ($> = $uid)) ) {
die "error setting uid ($uid) [$user]\n";
}
return $uid;
}