Doesn’t matter who owns files - process is executed by the user that launches/starts this process.
And so it is expected to see can not run elasticsearch as root
- here is the same on my machine:
# ls -lAh sonarqube-7.9.1
total 8.0K
-rw-r--r-- 1 evgeny.mandrikov wheel 7.5K Jul 10 12:21 COPYING
drwxr-xr-x 6 evgeny.mandrikov wheel 192 Jul 10 12:21 bin
drwxr-xr-x 4 evgeny.mandrikov wheel 128 Jul 10 12:21 conf
drwxr-xr-x 3 evgeny.mandrikov wheel 96 Jul 10 12:21 data
drwxr-xr-x 10 evgeny.mandrikov wheel 320 Jul 10 12:21 elasticsearch
drwxr-xr-x 4 evgeny.mandrikov wheel 128 Jul 10 12:21 extensions
drwxr-xr-x 8 evgeny.mandrikov wheel 256 Jul 10 12:32 lib
drwxr-xr-x 3 evgeny.mandrikov wheel 96 Jul 10 12:21 logs
drwxr-xr-x 3 evgeny.mandrikov wheel 96 Jul 10 12:21 temp
drwxr-xr-x 23 evgeny.mandrikov wheel 736 Jul 10 12:33 web
# ls -lah sonarqube-7.9.1/bin/linux-x86-64/
total 132K
drwxr-xr-x 5 evgeny.mandrikov wheel 160 Jul 10 12:21 .
drwxr-xr-x 6 evgeny.mandrikov wheel 192 Jul 10 12:21 ..
drwxr-xr-x 3 evgeny.mandrikov wheel 96 Jul 10 12:21 lib
-rwxr-xr-x 1 evgeny.mandrikov wheel 17K Jul 10 12:21 sonar.sh
-rwxr-xr-x 1 evgeny.mandrikov wheel 109K Jul 10 12:21 wrapper
# sudo su root
# whoami
root
# sonarqube-7.9.1/bin/linux-x86-64/sonar.sh start
# cat sonarqube-7.9.1/logs/es.log
2019.08.08 12:37:17 ERROR es[][o.e.b.Bootstrap] Exception
java.lang.RuntimeException: can not run elasticsearch as root
So now I’m pretty sure that
if you switch to sonar
user using command su sonar
then execution of sonarqube-7.9.1/bin/linux-x86-64/sonar.sh start
will not show message can not run elasticsearch as root
sonarqube-7.9.1/bin/linux-x86-64/sonar.sh
can do su sonar
for you before starting java
, but for this you must change in it
#RUN_AS_USER=
on
RUN_AS_USER=sonar