Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -3,8 +3,9 @@
|
||||
# sudo bash /opt/pangolin/setup/root-setup.sh
|
||||
#
|
||||
# 作用:
|
||||
# 1. 安装受限特权脚本到 /usr/local/sbin/pangolin-nginx-apply.sh(root:root 0755)
|
||||
# 2. 安装 sudoers 片段,授权 ec2-user 仅 NOPASSWD 调用上述脚本
|
||||
# 1. 创建部署目录 /opt/pangolin(归属部署用户,后续 CI/手动 rsync 写入)
|
||||
# 2. 安装受限特权脚本到 /usr/local/sbin/pangolin-nginx-apply.sh(root:root 0755)
|
||||
# 3. 安装 sudoers 片段,授权 ec2-user 仅 NOPASSWD 调用上述脚本
|
||||
# 之后 CI(ec2-user)即可非交互地增量更新 nginx 路由,且无法获得通用 root。
|
||||
set -euo pipefail
|
||||
|
||||
@@ -13,14 +14,20 @@ if [[ "$(id -u)" -ne 0 ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SRC_DIR="$(cd "$(dirname "$0")/.." && pwd)" # -> /opt/pangolin/deploy 或仓库 deploy/
|
||||
SRC_DIR="$(cd "$(dirname "$0")/.." && pwd)" # -> 本脚本所在的 deploy/(可在 /tmp 暂存或 /opt/pangolin)
|
||||
APPLY_SRC="${SRC_DIR}/nginx/pangolin-nginx-apply.sh"
|
||||
APPLY_DST="/usr/local/sbin/pangolin-nginx-apply.sh"
|
||||
SUDOERS="/etc/sudoers.d/pangolin"
|
||||
DEPLOY_USER="${PANGOLIN_DEPLOY_USER:-ec2-user}"
|
||||
DEPLOY_DIR="${PANGOLIN_DEPLOY_DIR:-/opt/pangolin}"
|
||||
|
||||
[[ -f "$APPLY_SRC" ]] || { echo "找不到 $APPLY_SRC" >&2; exit 1; }
|
||||
|
||||
# 1) 部署目录
|
||||
mkdir -p "$DEPLOY_DIR"
|
||||
chown "${DEPLOY_USER}:${DEPLOY_USER}" "$DEPLOY_DIR"
|
||||
echo "[root-setup] 已准备部署目录 $DEPLOY_DIR(归属 ${DEPLOY_USER})"
|
||||
|
||||
install -o root -g root -m 0755 "$APPLY_SRC" "$APPLY_DST"
|
||||
echo "[root-setup] 已安装 $APPLY_DST"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user