summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xchecksetup.pl29
1 files changed, 18 insertions, 11 deletions
diff --git a/checksetup.pl b/checksetup.pl
index c8af512ba..db0f188a3 100755
--- a/checksetup.pl
+++ b/checksetup.pl
@@ -775,21 +775,28 @@ my @my_platforms = @{*{$main::{'platforms'}}{ARRAY}};
my @my_opsys = @{*{$main::{'opsys'}}{ARRAY}};
if ($my_webservergroup && !$silent) {
- if ($< != 0) { # zach: if not root, yell at them, bug 87398
- print <<EOF;
-
-Warning: you have entered a value for the "webservergroup" parameter
-in localconfig, but you are not running this script as $::root.
-This can cause permissions problems and decreased security. If you
-experience problems running Bugzilla scripts, log in as $::root and re-run
-this script, or remove the value of the "webservergroup" parameter.
-Note that any warnings about "uninitialized values" that you may
-see below are caused by this.
+ if ($^O !~ /MSWin32/i) {
+ # if on unix, see if we need to print a warning about a webservergroup
+ # that we can't chgrp to
+ my $webservergid = (getgrnam($my_webservergroup))[2]
+ or die("no such group: $my_webservergroup");
+ if ($< != 0 && !grep(/^$webservergid$/, split(" ", $)))) {
+ print <<EOF;
+
+Warning: you have entered a value for the "webservergroup" parameter in
+localconfig, but you are not either a) running this script as $::root; or b) a
+member of this group. This can cause permissions problems and decreased
+security. If you experience problems running Bugzilla scripts, log in as
+$::root and re-run this script, become a member of the group, or remove the
+value of the "webservergroup" parameter. Note that any warnings about
+"uninitialized values" that you may see below are caused by this.
EOF
+ }
}
- if ($^O =~ /MSWin32/i) {
+ else {
+ # if on Win32, print a reminder that setting this value adds no security
print <<EOF;
Warning: You have set webservergroup in your localconfig.