[Koha-patches] [PATCH] Bug 8745 - Disallow rebuild_zebra.pl from executing, when run by root user.

Barry Cannon barry at oslo.ie
Mon Sep 10 16:32:25 CEST 2012


Added a check to warn users of execution as root user.
Added a 'runas-root' switch to allow users to force execution as root user.
---
 misc/migration_tools/rebuild_zebra.pl |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/misc/migration_tools/rebuild_zebra.pl b/misc/migration_tools/rebuild_zebra.pl
index 1621e84..10d7338 100755
--- a/misc/migration_tools/rebuild_zebra.pl
+++ b/misc/migration_tools/rebuild_zebra.pl
@@ -38,6 +38,8 @@ my $do_not_clear_zebraqueue;
 my $length;
 my $where;
 my $offset;
+my $runas_root;
+my $run_user = (getpwuid($<))[0];
 my $verbose_logging = 0;
 my $zebraidx_log_opt = " -v none,fatal,warn ";
 my $result = GetOptions(
@@ -45,7 +47,7 @@ my $result = GetOptions(
     'r|reset'       => \$reset,
     's'             => \$skip_export,
     'k'             => \$keep_export,
-    'I|skip-index'    => \$skip_index,
+    'I|skip-index'  => \$skip_index,
     'nosanitize'    => \$nosanitize,
     'b'             => \$biblios,
     'noxml'         => \$noxml,
@@ -60,14 +62,21 @@ my $result = GetOptions(
     'length:i'        => \$length,
     'offset:i'      => \$offset,
     'v+'             => \$verbose_logging,
+    'runas-root'    => \$runas_root,
 );
 
-
 if (not $result or $want_help) {
     print_usage();
     exit 0;
 }
 
+if(not $runas_root && $run_user eq 'root') {
+    my $msg = "Warning: You are running this script as the user 'root'.\n";
+    $msg   .= "If this is intentional you must explicitly specify this using the -runas-root switch\n";
+    $msg   .= "Please do '$0 --help' to see usage.\n";
+    die $msg;
+}
+
 if (not $biblios and not $authorities) {
     my $msg = "Must specify -b or -a to reindex bibs or authorities\n";
     $msg   .= "Please do '$0 --help' to see usage.\n";
-- 
1.7.2.5



More information about the Koha-patches mailing list