From 6897f75cfe02ec5200115fcf99bf824d99c91c6b Mon Sep 17 00:00:00 2001 From: Endial Fang Date: Mon, 14 Sep 2020 10:53:06 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=E8=A7=A3=E5=86=B3init=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E5=A4=9A=E4=BD=99=E8=B0=83=E7=94=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- alpine/customer/usr/local/bin/appcommon.sh | 1 - alpine/customer/usr/local/bin/entry.sh | 2 ++ alpine/customer/usr/sbin/create_user | 5 +++-- alpine/customer/usr/sbin/prepare_env | 2 +- customer/usr/local/bin/appcommon.sh | 3 ++- customer/usr/local/bin/entry.sh | 2 ++ customer/usr/sbin/create_user | 5 +++-- customer/usr/sbin/prepare_env | 2 +- 8 files changed, 14 insertions(+), 8 deletions(-) diff --git a/alpine/customer/usr/local/bin/appcommon.sh b/alpine/customer/usr/local/bin/appcommon.sh index eff64ca..5290c82 100644 --- a/alpine/customer/usr/local/bin/appcommon.sh +++ b/alpine/customer/usr/local/bin/appcommon.sh @@ -4,7 +4,6 @@ # 应用通用业务处理函数 # 加载依赖脚本 - . /usr/local/scripts/libcommon.sh # 通用函数库 . /usr/local/scripts/libfile.sh diff --git a/alpine/customer/usr/local/bin/entry.sh b/alpine/customer/usr/local/bin/entry.sh index 31dd8ac..f3728ea 100755 --- a/alpine/customer/usr/local/bin/entry.sh +++ b/alpine/customer/usr/local/bin/entry.sh @@ -29,6 +29,8 @@ if ! is_sourced; then exec gosu "${APP_USER:-APP_NAME}" "$0" "$@" fi + [ "$1" = "${APP_EXEC}" ] && /usr/local/bin/init.sh + LOG_I "Start container with command: $@" exec tini -- "$@" fi diff --git a/alpine/customer/usr/sbin/create_user b/alpine/customer/usr/sbin/create_user index bbc237f..3ae221f 100755 --- a/alpine/customer/usr/sbin/create_user +++ b/alpine/customer/usr/sbin/create_user @@ -2,8 +2,9 @@ # shell 执行参数,分别为 -e(命令执行错误则退出脚本) -u(变量未定义则报错) -x(打印实际待执行的命令行) set -eux addgroup -g 998 -S ${APP_USER} -adduser -G ${APP_USER} -u 999 -s /bin/bash -h ${APP_DATA_DIR} -D -S ${APP_USER} +#adduser -G ${APP_USER} -u 999 -s /bin/bash -h ${APP_DATA_DIR} -D -S ${APP_USER} +adduser -G ${APP_USER} -u 999 -s /usr/sbin/nologin -h ${APP_DATA_DIR} -D -S ${APP_USER} # 如果需要 sudo 权限,需要安装 su 软件包:apk add sudo #sed -i -e 's/^\sDefaults\s*secure_path\s*=/# Defaults secure_path=/' /etc/sudoers -#echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers +#echo "${APP_USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers diff --git a/alpine/customer/usr/sbin/prepare_env b/alpine/customer/usr/sbin/prepare_env index 05811a5..cb7b34b 100755 --- a/alpine/customer/usr/sbin/prepare_env +++ b/alpine/customer/usr/sbin/prepare_env @@ -2,7 +2,7 @@ # shell 执行参数,分别为 -e(命令执行错误则退出脚本) -u(变量未定义则报错) -x(打印实际待执行的命令行) set -eux -APP_DIRS="${APP_DEF_DIR:-} ${APP_CONF_DIR:-} ${APP_DATA_DIR:-} ${APP_CACHE_DIR:-} ${APP_RUN_DIR:-} ${APP_LOG_DIR:-} ${APP_CERT_DIR:-} ${APP_HOME_DIR:-}" +APP_DIRS="${APP_DEF_DIR:-} ${APP_CONF_DIR:-} ${APP_DATA_DIR:-} ${APP_DATA_LOG_DIR:-} ${APP_CACHE_DIR:-} ${APP_RUN_DIR:-} ${APP_LOG_DIR:-} ${APP_CERT_DIR:-} ${APP_HOME_DIR:-}" mkdir -p ${APP_DIRS} chown -Rf ${APP_USER}:${APP_USER} ${APP_DIRS}; diff --git a/customer/usr/local/bin/appcommon.sh b/customer/usr/local/bin/appcommon.sh index c27de5a..d63d3be 100644 --- a/customer/usr/local/bin/appcommon.sh +++ b/customer/usr/local/bin/appcommon.sh @@ -4,7 +4,6 @@ # 应用通用业务处理函数 # 加载依赖脚本 - . /usr/local/scripts/libcommon.sh # 通用函数库 . /usr/local/scripts/libfile.sh @@ -211,6 +210,7 @@ app_wait_service() { # 以后台方式启动应用服务,并等待启动就绪 app_start_server_bg() { is_app_server_running && return + LOG_I "Starting ${APP_NAME} in background..." # 使用内置脚本启动服务 @@ -406,3 +406,4 @@ app_custom_init() { # 绑定所有 IP ,启用远程访问 app_enable_remote_connections } + diff --git a/customer/usr/local/bin/entry.sh b/customer/usr/local/bin/entry.sh index 31dd8ac..f3728ea 100755 --- a/customer/usr/local/bin/entry.sh +++ b/customer/usr/local/bin/entry.sh @@ -29,6 +29,8 @@ if ! is_sourced; then exec gosu "${APP_USER:-APP_NAME}" "$0" "$@" fi + [ "$1" = "${APP_EXEC}" ] && /usr/local/bin/init.sh + LOG_I "Start container with command: $@" exec tini -- "$@" fi diff --git a/customer/usr/sbin/create_user b/customer/usr/sbin/create_user index 59166d1..34a474d 100755 --- a/customer/usr/sbin/create_user +++ b/customer/usr/sbin/create_user @@ -2,8 +2,9 @@ # shell 执行参数,分别为 -e(命令执行错误则退出脚本) -u(变量未定义则报错) -x(打印实际待执行的命令行) set -eux groupadd --gid 998 --system ${APP_USER} -useradd --gid 998 --uid 999 --shell /bin/bash --home ${APP_DATA_DIR} --system ${APP_USER} +#useradd --gid 998 --uid 999 --shell /bin/bash --home ${APP_DATA_DIR} --system ${APP_USER} +useradd --gid 998 --uid 999 --shell /usr/sbin/nologin --home ${APP_DATA_DIR} --system ${APP_USER} # 如果需要 sudo 权限,需要安装 su 软件包:apk add sudo #sed -i -e 's/^\sDefaults\s*secure_path\s*=/# Defaults secure_path=/' /etc/sudoers -#echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers +#echo "${APP_USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers diff --git a/customer/usr/sbin/prepare_env b/customer/usr/sbin/prepare_env index 05811a5..cb7b34b 100755 --- a/customer/usr/sbin/prepare_env +++ b/customer/usr/sbin/prepare_env @@ -2,7 +2,7 @@ # shell 执行参数,分别为 -e(命令执行错误则退出脚本) -u(变量未定义则报错) -x(打印实际待执行的命令行) set -eux -APP_DIRS="${APP_DEF_DIR:-} ${APP_CONF_DIR:-} ${APP_DATA_DIR:-} ${APP_CACHE_DIR:-} ${APP_RUN_DIR:-} ${APP_LOG_DIR:-} ${APP_CERT_DIR:-} ${APP_HOME_DIR:-}" +APP_DIRS="${APP_DEF_DIR:-} ${APP_CONF_DIR:-} ${APP_DATA_DIR:-} ${APP_DATA_LOG_DIR:-} ${APP_CACHE_DIR:-} ${APP_RUN_DIR:-} ${APP_LOG_DIR:-} ${APP_CERT_DIR:-} ${APP_HOME_DIR:-}" mkdir -p ${APP_DIRS} chown -Rf ${APP_USER}:${APP_USER} ${APP_DIRS};