diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index 902983018f7..f1a6db0c4c8 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -167,6 +167,8 @@ Other Changes * SOLR-9548: The beginning of solr.log now starts with a more informative welcome message (janhoy) +* SOLR-9547: Do not allow bin/solr start as root user, unless -force param specified (janhoy) + ================== 6.2.1 ================== Bug Fixes diff --git a/solr/bin/solr b/solr/bin/solr index 2ef480a50a3..71e8f654b67 100755 --- a/solr/bin/solr +++ b/solr/bin/solr @@ -1049,6 +1049,7 @@ fi # Run in foreground (default is to run in the background) FG="false" +FORCE=false noprompt=false SOLR_OPTS=($SOLR_OPTS) PASS_TO_RUN_EXAMPLE= @@ -1174,6 +1175,10 @@ if [ $# -gt 0 ]; then stop_all=true shift ;; + -force) + FORCE=true + shift + ;; --) shift break @@ -1298,6 +1303,14 @@ if [ -z "$STOP_PORT" ]; then STOP_PORT=`expr $SOLR_PORT - 1000` fi +if [ "$SCRIPT_CMD" == "start" ] || [ "$SCRIPT_CMD" == "restart" ] ; then + if [[ "$(whoami)" == "root" ]] && [[ "$FORCE" == "false" ]] ; then + echo "WARNING: Starting Solr as the root user is a security risk and not considered best practice. Exiting." + echo " Please consult the Reference Guide. To override this check, start with argument '-force'" + exit 1 + fi +fi + if [[ "$SCRIPT_CMD" == "start" ]]; then # see if Solr is already running SOLR_PID=`solr_pid_by_port "$SOLR_PORT"`