RANGER-813 Script to install Solr for Ranger Audits doesn't work in Suse

Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/88b1ae6c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/88b1ae6c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/88b1ae6c

Branch: refs/heads/master
Commit: 88b1ae6c3da37800fb73fcf3b2220187d0d7b359
Parents: cf29bb9
Author: Don Bosco Durai <[email protected]>
Authored: Tue Jan 12 14:45:36 2016 -0800
Committer: Don Bosco Durai <[email protected]>
Committed: Wed Jan 13 12:00:57 2016 -0800

----------------------------------------------------------------------
 .../contrib/solr_for_audit_setup/setup.sh       | 30 +++++++++++++++-----
 1 file changed, 23 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/88b1ae6c/security-admin/contrib/solr_for_audit_setup/setup.sh
----------------------------------------------------------------------
diff --git a/security-admin/contrib/solr_for_audit_setup/setup.sh 
b/security-admin/contrib/solr_for_audit_setup/setup.sh
index 2ca1e6d..5e1357e 100755
--- a/security-admin/contrib/solr_for_audit_setup/setup.sh
+++ b/security-admin/contrib/solr_for_audit_setup/setup.sh
@@ -106,6 +106,7 @@ if [ "$SOLR_LOG_FOLDER" = "logs" ]; then
     SOLR_LOG_FOLDER=$NEW_SOLR_LOG_FOLDER
 fi
 
+
 function run_root_usage {
     echo "sudo chown -R $SOLR_USER:$SOLR_USER $SOLR_INSTALL_FOLDER"
     echo "sudo mkdir -p $SOLR_RANGER_HOME"
@@ -116,13 +117,27 @@ function run_root_usage {
     fi
 }
 
+function set_ownership {
+    user=$1
+    group=$2
+    folder=$3
+    chown -R $user:$group $folder 
+    parent_folder=`dirname $folder`
+    while [ "$parent_folder" != "/" ]; do
+       chmod a+rx $parent_folder
+       folder=$parent_folder
+       parent_folder=`dirname $folder`
+    done
+}
+
 if [ $is_root -ne 1 ]; then
     if [ "$SOLR_USER" != "$curr_user" ]; then
        echo "`date`|ERROR|You need to run this script as root or as user 
$SOLR_USER"
        echo "If you need to run as $SOLR_USER, then first execute the 
following commands as root or sudo"
        id $SOLR_USER 2>&1 > /dev/null
        if [ $? -ne 0 ]; then
-           echo "sudo adduser $SOLR_USER"
+           echo "sudo groupadd $SOLR_USER"
+           echo "sudo useradd -g $SOLR_USER $SOLR_USER"
        fi
        run_root_usage
        exit 1
@@ -295,20 +310,21 @@ if [ $is_root -eq 1 ]; then
     id $SOLR_USER 2>&1 > /dev/null
     if [ $? -ne 0 ]; then
        echo "`date`|INFO|Creating user $SOLR_USER"
-       adduser $SOLR_USER
+       groupadd $SOLR_USER 2> /dev/null
+       useradd -g $SOLR_USER $SOLR_USER 2>/dev/null
     fi
 
-    chown -R $SOLR_USER:$SOLR_USER $SOLR_INSTALL_FOLDER
+    set_ownership $SOLR_USER $SOLR_USER $SOLR_INSTALL_FOLDER
     mkdir -p $SOLR_RANGER_HOME
-    chown -R $SOLR_USER:$SOLR_USER $SOLR_RANGER_HOME
+    set_ownership $SOLR_USER $SOLR_USER $SOLR_RANGER_HOME
     mkdir -p $SOLR_LOG_FOLDER
-    chown -R $SOLR_USER:$SOLR_USER $SOLR_LOG_FOLDER
+    set_ownership $SOLR_USER $SOLR_USER $SOLR_LOG_FOLDER
     if [ "$SOLR_DEPLOYMENT" = "standalone" ]; then
        mkdir -p $SOLR_RANGER_DATA_FOLDER
-       chown -R $SOLR_USER:$SOLR_USER $SOLR_RANGER_DATA_FOLDER
+       set_ownership $SOLR_USER $SOLR_USER $SOLR_RANGER_DATA_FOLDER
     fi
 else
-    chown -R $SOLR_USER:$SOLR_USER $SOLR_RANGER_HOME
+    set_ownership $SOLR_USER $SOLR_USER $SOLR_RANGER_HOME
 fi
 chmod a+x $SOLR_RANGER_HOME/scripts/*.sh
 

Reply via email to