freebsd-ports/mail/majordomo/scripts/createuser
Anders Nordby 7ee4337606 Add wrapper permissions dialog(1) to make it easier for users to have
their majordomo wrapper program executed from their MDA. Remove old
instructions for how this could be done manually. This also fixes the
new majordomo/mailnull issue.

Correct typo in post-install-notes (spotted by Dan Pelleg).

PR:		30170
2002-02-08 01:56:26 +00:00

61 lines
1.5 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( ! -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++;
}
}
if( $have_group && $have_user ) {
exit 0;
} elsif( $> ) {
print "\nYou must be root to run this step!\n\n";
exit 1;
}
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;
}