freebsd-ports/mail/majordomo/scripts/createuser
1997-04-28 00:53:12 +00:00

60 lines
1.4 KiB
Perl

#!/usr/bin/perl
#
eval '(exit $?0)' && eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
& eval 'exec /usr/bin/perl -S $0 $argv:q'
if 0;
if( $> ) {
print "\nYou must be root to run this step!\n\n";
exit 1;
}
if( ! -x "/usr/sbin/pw" ) {
print "\nYou require the pw command, which was included in FreeBSD v2.2 builds\n";
print "as of Dec 9th 1996. If you don't have it, try looking in\n";
print "/usr/src/usr.sbin/pw and building it\n\n";
exit 1;
}
if( getpwnam( "majordom" ) ) {
$have_user = 1;
( $null, $null, $mjUID ) = getpwnam( "majordom" );
} else {
$mjUID = 54;
while( getpwuid( $mjUID ) ) {
$mjUID++;
}
}
if( getgrnam( "majordom" ) ) {
$have_group = 1;
( $null, $null, $mjGID ) = getgrnam( "majordom" );
} else {
$mjGID = 54;
while( getgrgid( $mjGID ) ) {
$mjGID++;
}
}
print "majordom user using uid $mjUID\n";
print "majordom user using gid $mjGID\n";
if( ! $have_group ) {
$result = system( "/usr/sbin/pw groupadd majordom -g $mjGID" );
if( $result ) {
print "Failed to add group majordom!\n";
exit 1;
}
}
if( ! $have_user ) {
$result = system( "pw useradd majordom -u $mjUID -g $mjGID -d \"$ENV{PREFIX}/majordomo\" -c \"Majordomo Pseudo User\" -p \"*\" -s \"/nonexistent\"" );
} else {
$result = system( "pw usermod majordom -u $mjUID -g $mjGID -d \"$ENV{PREFIX}/majordomo\" -c \"Majordomo Pseudo User\" -p \"*\" -s \"/nonexistent\"" );
}
if( $result ) {
print "Failed to add/modify user majordom!\n";
exit 1;
}