Commit aabc22d7d2101d0a89908c02eb6e169a9066a02f

Authored by VoBa
Committed by GitHub
1 parent d68ef233

Non root docker user (#2460)

* Non root docker user

* Fixes for user - signle user for all services

* Base image changed

* Fixes for pvc removal

* Moved to be in sync with PE

* Changed to TB repository
Showing 45 changed files with 113 additions and 58 deletions
@@ -2,8 +2,8 @@ @@ -2,8 +2,8 @@
2 2
3 set -e 3 set -e
4 4
5 -chown -R ${pkg.name}: ${pkg.logFolder}  
6 -chown -R ${pkg.name}: ${pkg.installFolder} 5 +chown -R ${pkg.user}: ${pkg.logFolder}
  6 +chown -R ${pkg.user}: ${pkg.installFolder}
7 systemctl --no-reload enable ${pkg.name}.service >/dev/null 2>&1 || : 7 systemctl --no-reload enable ${pkg.name}.service >/dev/null 2>&1 || :
8 8
9 exit 0 9 exit 0
@@ -2,21 +2,21 @@ @@ -2,21 +2,21 @@
2 2
3 set -e 3 set -e
4 4
5 -if ! getent group ${pkg.name} >/dev/null; then  
6 - addgroup --system ${pkg.name} 5 +if ! getent group ${pkg.user} >/dev/null; then
  6 + addgroup --system ${pkg.user}
7 fi 7 fi
8 8
9 -if ! getent passwd ${pkg.name} >/dev/null; then 9 +if ! getent passwd ${pkg.user} >/dev/null; then
10 adduser --quiet \ 10 adduser --quiet \
11 --system \ 11 --system \
12 - --ingroup ${pkg.name} \ 12 + --ingroup ${pkg.user} \
13 --quiet \ 13 --quiet \
14 --disabled-login \ 14 --disabled-login \
15 --disabled-password \ 15 --disabled-password \
16 --home ${pkg.installFolder} \ 16 --home ${pkg.installFolder} \
17 --no-create-home \ 17 --no-create-home \
18 -gecos "Thingsboard application" \ 18 -gecos "Thingsboard application" \
19 - ${pkg.name} 19 + ${pkg.user}
20 fi 20 fi
21 21
22 exit 0 22 exit 0
1 #!/bin/sh 1 #!/bin/sh
2 2
3 -chown -R ${pkg.name}: ${pkg.logFolder}  
4 -chown -R ${pkg.name}: ${pkg.installFolder} 3 +chown -R ${pkg.user}: ${pkg.logFolder}
  4 +chown -R ${pkg.user}: ${pkg.installFolder}
5 5
6 if [ $1 -eq 1 ] ; then 6 if [ $1 -eq 1 ] ; then
7 # Initial installation 7 # Initial installation
@@ -3,7 +3,7 @@ Description=${pkg.name} @@ -3,7 +3,7 @@ Description=${pkg.name}
3 After=syslog.target 3 After=syslog.target
4 4
5 [Service] 5 [Service]
6 -User=${pkg.name} 6 +User=${pkg.user}
7 ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar 7 ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar
8 SuccessExitStatus=143 8 SuccessExitStatus=143
9 9
@@ -44,7 +44,7 @@ installDir=${pkg.installFolder}/data @@ -44,7 +44,7 @@ installDir=${pkg.installFolder}/data
44 44
45 source "${CONF_FOLDER}/${configfile}" 45 source "${CONF_FOLDER}/${configfile}"
46 46
47 -run_user=${pkg.name} 47 +run_user=${pkg.user}
48 48
49 su -s /bin/sh -c "java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.ThingsboardInstallApplication \ 49 su -s /bin/sh -c "java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.ThingsboardInstallApplication \
50 -Dinstall.data_dir=${installDir} \ 50 -Dinstall.data_dir=${installDir} \
@@ -43,7 +43,7 @@ installDir=${pkg.installFolder}/data @@ -43,7 +43,7 @@ installDir=${pkg.installFolder}/data
43 43
44 source "${CONF_FOLDER}/${configfile}" 44 source "${CONF_FOLDER}/${configfile}"
45 45
46 -run_user=${pkg.name} 46 +run_user=${pkg.user}
47 47
48 su -s /bin/sh -c "java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.ThingsboardInstallApplication \ 48 su -s /bin/sh -c "java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.ThingsboardInstallApplication \
49 -Dinstall.data_dir=${installDir} \ 49 -Dinstall.data_dir=${installDir} \
@@ -17,6 +17,13 @@ In order to set database type change the value of `DATABASE` variable in `.env` @@ -17,6 +17,13 @@ In order to set database type change the value of `DATABASE` variable in `.env`
17 17
18 **NOTE**: According to the database type corresponding docker service will be deployed (see `docker-compose.postgres.yml`, `docker-compose.cassandra.yml` for details). 18 **NOTE**: According to the database type corresponding docker service will be deployed (see `docker-compose.postgres.yml`, `docker-compose.cassandra.yml` for details).
19 19
  20 +Execute the following command to create log folders for the services and chown of these folders to the docker container users.
  21 +To be able to change user, **chown** command is used, which requires sudo permissions (script will request password for a sudo access):
  22 +
  23 +`
  24 +$ ./docker-create-log-folders.sh
  25 +`
  26 +
20 Execute the following command to run installation: 27 Execute the following command to run installation:
21 28
22 ` 29 `
  1 +#!/bin/bash
  2 +#
  3 +# Copyright © 2016-2020 The Thingsboard Authors
  4 +#
  5 +# Licensed under the Apache License, Version 2.0 (the "License");
  6 +# you may not use this file except in compliance with the License.
  7 +# You may obtain a copy of the License at
  8 +#
  9 +# http://www.apache.org/licenses/LICENSE-2.0
  10 +#
  11 +# Unless required by applicable law or agreed to in writing, software
  12 +# distributed under the License is distributed on an "AS IS" BASIS,
  13 +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14 +# See the License for the specific language governing permissions and
  15 +# limitations under the License.
  16 +#
  17 +
  18 +mkdir -p tb-node/log/ && sudo chown -R 799:799 tb-node/log/
  19 +
  20 +mkdir -p tb-transports/coap/log && sudo chown -R 799:799 tb-transports/coap/log
  21 +
  22 +mkdir -p tb-transports/http/log && sudo chown -R 799:799 tb-transports/http/log
  23 +
  24 +mkdir -p tb-transports/mqtt/log && sudo chown -R 799:799 tb-transports/mqtt/log
@@ -39,5 +39,5 @@ spec: @@ -39,5 +39,5 @@ spec:
39 volumeMounts: 39 volumeMounts:
40 - mountPath: /config 40 - mountPath: /config
41 name: tb-node-config 41 name: tb-node-config
42 - command: ['sh', '-c', 'while [ ! -f /install-finished ]; do sleep 2; done;'] 42 + command: ['sh', '-c', 'while [ ! -f /tmp/install-finished ]; do sleep 2; done;']
43 restartPolicy: Never 43 restartPolicy: Never
@@ -15,4 +15,6 @@ @@ -15,4 +15,6 @@
15 # limitations under the License. 15 # limitations under the License.
16 # 16 #
17 17
18 -kubectl -n thingsboard delete svc,sts,deploy,pv,pvc,cm,po,ing --all 18 +kubectl -n thingsboard delete svc,sts,deploy,cm,po,ing --all
  19 +
  20 +kubectl -n thingsboard get pvc --no-headers=true | awk '//{print $1}' | xargs kubectl -n thingsboard delete --ignore-not-found=true pvc
@@ -22,7 +22,7 @@ function installTb() { @@ -22,7 +22,7 @@ function installTb() {
22 kubectl apply -f tb-node-configmap.yml 22 kubectl apply -f tb-node-configmap.yml
23 kubectl apply -f database-setup.yml && 23 kubectl apply -f database-setup.yml &&
24 kubectl wait --for=condition=Ready pod/tb-db-setup --timeout=120s && 24 kubectl wait --for=condition=Ready pod/tb-db-setup --timeout=120s &&
25 - kubectl exec tb-db-setup -- sh -c 'export INSTALL_TB=true; export LOAD_DEMO='"$loadDemo"'; start-tb-node.sh; touch /install-finished;' 25 + kubectl exec tb-db-setup -- sh -c 'export INSTALL_TB=true; export LOAD_DEMO='"$loadDemo"'; start-tb-node.sh; touch /tmp/install-finished;'
26 26
27 kubectl delete pod tb-db-setup 27 kubectl delete pod tb-db-setup
28 28
@@ -38,6 +38,6 @@ fi @@ -38,6 +38,6 @@ fi
38 38
39 kubectl apply -f database-setup.yml && 39 kubectl apply -f database-setup.yml &&
40 kubectl wait --for=condition=Ready pod/tb-db-setup --timeout=120s && 40 kubectl wait --for=condition=Ready pod/tb-db-setup --timeout=120s &&
41 -kubectl exec tb-db-setup -- sh -c 'export UPGRADE_TB=true; export FROM_VERSION='"$fromVersion"'; start-tb-node.sh; touch /install-finished;' 41 +kubectl exec tb-db-setup -- sh -c 'export UPGRADE_TB=true; export FROM_VERSION='"$fromVersion"'; start-tb-node.sh; touch /tmp/install-finished;'
42 42
43 kubectl delete pod tb-db-setup 43 kubectl delete pod tb-db-setup
@@ -58,6 +58,8 @@ spec: @@ -58,6 +58,8 @@ spec:
58 env: 58 env:
59 - name: POSTGRES_DB 59 - name: POSTGRES_DB
60 value: "thingsboard" 60 value: "thingsboard"
  61 + - name: POSTGRES_PASSWORD
  62 + value: "postgres"
61 - name: PGDATA 63 - name: PGDATA
62 value: /var/lib/postgresql/data/pgdata 64 value: /var/lib/postgresql/data/pgdata
63 volumeMounts: 65 volumeMounts:
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 # limitations under the License. 14 # limitations under the License.
15 # 15 #
16 16
17 -FROM debian:stretch 17 +FROM thingsboard/base
18 18
19 COPY start-js-executor.sh ${pkg.name}.deb /tmp/ 19 COPY start-js-executor.sh ${pkg.name}.deb /tmp/
20 20
@@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb @@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb
25 25
26 RUN update-rc.d ${pkg.name} disable 26 RUN update-rc.d ${pkg.name} disable
27 27
  28 +USER ${pkg.user}
  29 +
28 CMD ["start-js-executor.sh"] 30 CMD ["start-js-executor.sh"]
@@ -26,4 +26,6 @@ identity=${pkg.name} @@ -26,4 +26,6 @@ identity=${pkg.name}
26 26
27 source "${CONF_FOLDER}/${configfile}" 27 source "${CONF_FOLDER}/${configfile}"
28 28
29 -su -s /bin/sh -c "$mainfile" 29 +cd ${pkg.installFolder}/bin
  30 +
  31 +exec /bin/sh -c "$mainfile"
@@ -36,7 +36,6 @@ @@ -36,7 +36,6 @@
36 <main.dir>${basedir}/../..</main.dir> 36 <main.dir>${basedir}/../..</main.dir>
37 <pkg.name>tb-js-executor</pkg.name> 37 <pkg.name>tb-js-executor</pkg.name>
38 <docker.name>tb-js-executor</docker.name> 38 <docker.name>tb-js-executor</docker.name>
39 - <pkg.user>thingsboard</pkg.user>  
40 <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> 39 <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder>
41 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> 40 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder>
42 <pkg.linux.dist>${project.build.directory}/package/linux</pkg.linux.dist> 41 <pkg.linux.dist>${project.build.directory}/package/linux</pkg.linux.dist>
@@ -25,4 +25,8 @@ RUN dpkg -i /tmp/${pkg.name}.deb @@ -25,4 +25,8 @@ RUN dpkg -i /tmp/${pkg.name}.deb
25 25
26 RUN systemctl --no-reload disable --now ${pkg.name}.service > /dev/null 2>&1 || : 26 RUN systemctl --no-reload disable --now ${pkg.name}.service > /dev/null 2>&1 || :
27 27
  28 +RUN chown -R ${pkg.user}:${pkg.user} /tmp
  29 +
  30 +USER ${pkg.user}
  31 +
28 CMD ["start-tb-node.sh"] 32 CMD ["start-tb-node.sh"]
@@ -18,12 +18,14 @@ @@ -18,12 +18,14 @@
18 CONF_FOLDER="/config" 18 CONF_FOLDER="/config"
19 jarfile=${pkg.installFolder}/bin/${pkg.name}.jar 19 jarfile=${pkg.installFolder}/bin/${pkg.name}.jar
20 configfile=${pkg.name}.conf 20 configfile=${pkg.name}.conf
21 -run_user=${pkg.name} 21 +run_user=${pkg.user}
22 22
23 source "${CONF_FOLDER}/${configfile}" 23 source "${CONF_FOLDER}/${configfile}"
24 24
25 export LOADER_PATH=/config,${LOADER_PATH} 25 export LOADER_PATH=/config,${LOADER_PATH}
26 26
  27 +cd ${pkg.installFolder}/bin
  28 +
27 if [ "$INSTALL_TB" == "true" ]; then 29 if [ "$INSTALL_TB" == "true" ]; then
28 30
29 if [ "$LOAD_DEMO" == "true" ]; then 31 if [ "$LOAD_DEMO" == "true" ]; then
@@ -36,7 +36,6 @@ @@ -36,7 +36,6 @@
36 <main.dir>${basedir}/../..</main.dir> 36 <main.dir>${basedir}/../..</main.dir>
37 <pkg.name>thingsboard</pkg.name> 37 <pkg.name>thingsboard</pkg.name>
38 <docker.name>tb-node</docker.name> 38 <docker.name>tb-node</docker.name>
39 - <pkg.user>thingsboard</pkg.user>  
40 <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> 39 <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder>
41 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> 40 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder>
42 </properties> 41 </properties>
@@ -38,7 +38,6 @@ @@ -38,7 +38,6 @@
38 <tb.docker.name>tb</tb.docker.name> 38 <tb.docker.name>tb</tb.docker.name>
39 <tb-postgres.docker.name>tb-postgres</tb-postgres.docker.name> 39 <tb-postgres.docker.name>tb-postgres</tb-postgres.docker.name>
40 <tb-cassandra.docker.name>tb-cassandra</tb-cassandra.docker.name> 40 <tb-cassandra.docker.name>tb-cassandra</tb-cassandra.docker.name>
41 - <pkg.user>thingsboard</pkg.user>  
42 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> 41 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder>
43 <pkg.upgradeVersion>2.4.2</pkg.upgradeVersion> 42 <pkg.upgradeVersion>2.4.2</pkg.upgradeVersion>
44 </properties> 43 </properties>
@@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb @@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb
25 25
26 RUN update-rc.d ${pkg.name} disable 26 RUN update-rc.d ${pkg.name} disable
27 27
  28 +USER ${pkg.user}
  29 +
28 CMD ["start-tb-coap-transport.sh"] 30 CMD ["start-tb-coap-transport.sh"]
@@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH} @@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH}
25 25
26 echo "Starting '${project.name}' ..." 26 echo "Starting '${project.name}' ..."
27 27
  28 +cd ${pkg.installFolder}/bin
  29 +
28 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.coap.ThingsboardCoapTransportApplication \ 30 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.coap.ThingsboardCoapTransportApplication \
29 -Dspring.jpa.hibernate.ddl-auto=none \ 31 -Dspring.jpa.hibernate.ddl-auto=none \
30 -Dlogging.config=/config/logback.xml \ 32 -Dlogging.config=/config/logback.xml \
@@ -36,7 +36,6 @@ @@ -36,7 +36,6 @@
36 <main.dir>${basedir}/../../..</main.dir> 36 <main.dir>${basedir}/../../..</main.dir>
37 <pkg.name>tb-coap-transport</pkg.name> 37 <pkg.name>tb-coap-transport</pkg.name>
38 <docker.name>tb-coap-transport</docker.name> 38 <docker.name>tb-coap-transport</docker.name>
39 - <pkg.user>thingsboard</pkg.user>  
40 <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder> 39 <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder>
41 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> 40 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder>
42 </properties> 41 </properties>
@@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb @@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb
25 25
26 RUN update-rc.d ${pkg.name} disable 26 RUN update-rc.d ${pkg.name} disable
27 27
  28 +USER ${pkg.user}
  29 +
28 CMD ["start-tb-http-transport.sh"] 30 CMD ["start-tb-http-transport.sh"]
@@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH} @@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH}
25 25
26 echo "Starting '${project.name}' ..." 26 echo "Starting '${project.name}' ..."
27 27
  28 +cd ${pkg.installFolder}/bin
  29 +
28 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.http.ThingsboardHttpTransportApplication \ 30 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.http.ThingsboardHttpTransportApplication \
29 -Dspring.jpa.hibernate.ddl-auto=none \ 31 -Dspring.jpa.hibernate.ddl-auto=none \
30 -Dlogging.config=/config/logback.xml \ 32 -Dlogging.config=/config/logback.xml \
@@ -36,7 +36,6 @@ @@ -36,7 +36,6 @@
36 <main.dir>${basedir}/../../..</main.dir> 36 <main.dir>${basedir}/../../..</main.dir>
37 <pkg.name>tb-http-transport</pkg.name> 37 <pkg.name>tb-http-transport</pkg.name>
38 <docker.name>tb-http-transport</docker.name> 38 <docker.name>tb-http-transport</docker.name>
39 - <pkg.user>thingsboard</pkg.user>  
40 <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder> 39 <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder>
41 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> 40 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder>
42 </properties> 41 </properties>
@@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb @@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb
25 25
26 RUN update-rc.d ${pkg.name} disable 26 RUN update-rc.d ${pkg.name} disable
27 27
  28 +USER ${pkg.user}
  29 +
28 CMD ["start-tb-mqtt-transport.sh"] 30 CMD ["start-tb-mqtt-transport.sh"]
@@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH} @@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH}
25 25
26 echo "Starting '${project.name}' ..." 26 echo "Starting '${project.name}' ..."
27 27
  28 +cd ${pkg.installFolder}/bin
  29 +
28 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication \ 30 exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication \
29 -Dspring.jpa.hibernate.ddl-auto=none \ 31 -Dspring.jpa.hibernate.ddl-auto=none \
30 -Dlogging.config=/config/logback.xml \ 32 -Dlogging.config=/config/logback.xml \
@@ -36,7 +36,6 @@ @@ -36,7 +36,6 @@
36 <main.dir>${basedir}/../../..</main.dir> 36 <main.dir>${basedir}/../../..</main.dir>
37 <pkg.name>tb-mqtt-transport</pkg.name> 37 <pkg.name>tb-mqtt-transport</pkg.name>
38 <docker.name>tb-mqtt-transport</docker.name> 38 <docker.name>tb-mqtt-transport</docker.name>
39 - <pkg.user>thingsboard</pkg.user>  
40 <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder> 39 <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder>
41 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> 40 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder>
42 </properties> 41 </properties>
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 # limitations under the License. 14 # limitations under the License.
15 # 15 #
16 16
17 -FROM debian:stretch 17 +FROM thingsboard/base
18 18
19 COPY start-web-ui.sh ${pkg.name}.deb /tmp/ 19 COPY start-web-ui.sh ${pkg.name}.deb /tmp/
20 20
@@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb @@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb
25 25
26 RUN update-rc.d ${pkg.name} disable 26 RUN update-rc.d ${pkg.name} disable
27 27
  28 +USER ${pkg.user}
  29 +
28 CMD ["start-web-ui.sh"] 30 CMD ["start-web-ui.sh"]
@@ -26,4 +26,6 @@ identity=${pkg.name} @@ -26,4 +26,6 @@ identity=${pkg.name}
26 26
27 source "${CONF_FOLDER}/${configfile}" 27 source "${CONF_FOLDER}/${configfile}"
28 28
29 -su -s /bin/sh -c "$mainfile" 29 +cd ${pkg.installFolder}/bin
  30 +
  31 +exec /bin/sh -c "$mainfile"
@@ -36,7 +36,6 @@ @@ -36,7 +36,6 @@
36 <main.dir>${basedir}/../..</main.dir> 36 <main.dir>${basedir}/../..</main.dir>
37 <pkg.name>tb-web-ui</pkg.name> 37 <pkg.name>tb-web-ui</pkg.name>
38 <docker.name>tb-web-ui</docker.name> 38 <docker.name>tb-web-ui</docker.name>
39 - <pkg.user>thingsboard</pkg.user>  
40 <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> 39 <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder>
41 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> 40 <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder>
42 <pkg.linux.dist>${project.build.directory}/package/linux</pkg.linux.dist> 41 <pkg.linux.dist>${project.build.directory}/package/linux</pkg.linux.dist>
@@ -29,6 +29,7 @@ @@ -29,6 +29,7 @@
29 29
30 <properties> 30 <properties>
31 <main.dir>${basedir}</main.dir> 31 <main.dir>${basedir}</main.dir>
  32 + <pkg.user>thingsboard</pkg.user>
32 <spring-boot.version>2.1.3.RELEASE</spring-boot.version> 33 <spring-boot.version>2.1.3.RELEASE</spring-boot.version>
33 <spring.version>5.1.5.RELEASE</spring.version> 34 <spring.version>5.1.5.RELEASE</spring.version>
34 <spring-security.version>5.1.4.RELEASE</spring-security.version> 35 <spring-security.version>5.1.4.RELEASE</spring-security.version>
1 #!/bin/sh 1 #!/bin/sh
2 2
3 -chown -R ${pkg.name}: ${pkg.logFolder}  
4 -chown -R ${pkg.name}: ${pkg.installFolder} 3 +chown -R ${pkg.user}: ${pkg.logFolder}
  4 +chown -R ${pkg.user}: ${pkg.installFolder}
5 update-rc.d ${pkg.name} defaults 5 update-rc.d ${pkg.name} defaults
6 6
1 #!/bin/sh 1 #!/bin/sh
2 2
3 -if ! getent group ${pkg.name} >/dev/null; then  
4 - addgroup --system ${pkg.name} 3 +if ! getent group ${pkg.user} >/dev/null; then
  4 + addgroup --system ${pkg.user}
5 fi 5 fi
6 6
7 -if ! getent passwd ${pkg.name} >/dev/null; then 7 +if ! getent passwd ${pkg.user} >/dev/null; then
8 adduser --quiet \ 8 adduser --quiet \
9 --system \ 9 --system \
10 - --ingroup ${pkg.name} \ 10 + --ingroup ${pkg.user} \
11 --quiet \ 11 --quiet \
12 --disabled-login \ 12 --disabled-login \
13 --disabled-password \ 13 --disabled-password \
14 --home ${pkg.installFolder} \ 14 --home ${pkg.installFolder} \
15 --no-create-home \ 15 --no-create-home \
16 -gecos "Thingsboard application" \ 16 -gecos "Thingsboard application" \
17 - ${pkg.name} 17 + ${pkg.user}
18 fi 18 fi
1 #!/bin/sh 1 #!/bin/sh
2 2
3 -chown -R ${pkg.name}: ${pkg.logFolder}  
4 -chown -R ${pkg.name}: ${pkg.installFolder} 3 +chown -R ${pkg.user}: ${pkg.logFolder}
  4 +chown -R ${pkg.user}: ${pkg.installFolder}
5 5
6 if [ $1 -eq 1 ] ; then 6 if [ $1 -eq 1 ] ; then
7 # Initial installation 7 # Initial installation
@@ -3,7 +3,7 @@ Description=${pkg.name} @@ -3,7 +3,7 @@ Description=${pkg.name}
3 After=syslog.target 3 After=syslog.target
4 4
5 [Service] 5 [Service]
6 -User=${pkg.name} 6 +User=${pkg.user}
7 ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar 7 ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar
8 SuccessExitStatus=143 8 SuccessExitStatus=143
9 9
1 #!/bin/sh 1 #!/bin/sh
2 2
3 -chown -R ${pkg.name}: ${pkg.logFolder}  
4 -chown -R ${pkg.name}: ${pkg.installFolder} 3 +chown -R ${pkg.user}: ${pkg.logFolder}
  4 +chown -R ${pkg.user}: ${pkg.installFolder}
5 update-rc.d ${pkg.name} defaults 5 update-rc.d ${pkg.name} defaults
6 6
1 #!/bin/sh 1 #!/bin/sh
2 2
3 -if ! getent group ${pkg.name} >/dev/null; then  
4 - addgroup --system ${pkg.name} 3 +if ! getent group ${pkg.user} >/dev/null; then
  4 + addgroup --system ${pkg.user}
5 fi 5 fi
6 6
7 -if ! getent passwd ${pkg.name} >/dev/null; then 7 +if ! getent passwd ${pkg.user} >/dev/null; then
8 adduser --quiet \ 8 adduser --quiet \
9 --system \ 9 --system \
10 - --ingroup ${pkg.name} \ 10 + --ingroup ${pkg.user} \
11 --quiet \ 11 --quiet \
12 --disabled-login \ 12 --disabled-login \
13 --disabled-password \ 13 --disabled-password \
14 --home ${pkg.installFolder} \ 14 --home ${pkg.installFolder} \
15 --no-create-home \ 15 --no-create-home \
16 -gecos "Thingsboard application" \ 16 -gecos "Thingsboard application" \
17 - ${pkg.name} 17 + ${pkg.user}
18 fi 18 fi
1 #!/bin/sh 1 #!/bin/sh
2 2
3 -chown -R ${pkg.name}: ${pkg.logFolder}  
4 -chown -R ${pkg.name}: ${pkg.installFolder} 3 +chown -R ${pkg.user}: ${pkg.logFolder}
  4 +chown -R ${pkg.user}: ${pkg.installFolder}
5 5
6 if [ $1 -eq 1 ] ; then 6 if [ $1 -eq 1 ] ; then
7 # Initial installation 7 # Initial installation
@@ -3,7 +3,7 @@ Description=${pkg.name} @@ -3,7 +3,7 @@ Description=${pkg.name}
3 After=syslog.target 3 After=syslog.target
4 4
5 [Service] 5 [Service]
6 -User=${pkg.name} 6 +User=${pkg.user}
7 ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar 7 ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar
8 SuccessExitStatus=143 8 SuccessExitStatus=143
9 9
1 #!/bin/sh 1 #!/bin/sh
2 2
3 -chown -R ${pkg.name}: ${pkg.logFolder}  
4 -chown -R ${pkg.name}: ${pkg.installFolder} 3 +chown -R ${pkg.user}: ${pkg.logFolder}
  4 +chown -R ${pkg.user}: ${pkg.installFolder}
5 update-rc.d ${pkg.name} defaults 5 update-rc.d ${pkg.name} defaults
6 6
1 #!/bin/sh 1 #!/bin/sh
2 2
3 -if ! getent group ${pkg.name} >/dev/null; then  
4 - addgroup --system ${pkg.name} 3 +if ! getent group ${pkg.user} >/dev/null; then
  4 + addgroup --system ${pkg.user}
5 fi 5 fi
6 6
7 -if ! getent passwd ${pkg.name} >/dev/null; then 7 +if ! getent passwd ${pkg.user} >/dev/null; then
8 adduser --quiet \ 8 adduser --quiet \
9 --system \ 9 --system \
10 - --ingroup ${pkg.name} \ 10 + --ingroup ${pkg.user} \
11 --quiet \ 11 --quiet \
12 --disabled-login \ 12 --disabled-login \
13 --disabled-password \ 13 --disabled-password \
14 --home ${pkg.installFolder} \ 14 --home ${pkg.installFolder} \
15 --no-create-home \ 15 --no-create-home \
16 -gecos "Thingsboard application" \ 16 -gecos "Thingsboard application" \
17 - ${pkg.name} 17 + ${pkg.user}
18 fi 18 fi
1 #!/bin/sh 1 #!/bin/sh
2 2
3 -chown -R ${pkg.name}: ${pkg.logFolder}  
4 -chown -R ${pkg.name}: ${pkg.installFolder} 3 +chown -R ${pkg.user}: ${pkg.logFolder}
  4 +chown -R ${pkg.user}: ${pkg.installFolder}
5 5
6 if [ $1 -eq 1 ] ; then 6 if [ $1 -eq 1 ] ; then
7 # Initial installation 7 # Initial installation
@@ -3,7 +3,7 @@ Description=${pkg.name} @@ -3,7 +3,7 @@ Description=${pkg.name}
3 After=syslog.target 3 After=syslog.target
4 4
5 [Service] 5 [Service]
6 -User=${pkg.name} 6 +User=${pkg.user}
7 ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar 7 ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar
8 SuccessExitStatus=143 8 SuccessExitStatus=143
9 9