1Panel icon indicating copy to clipboard operation
1Panel copied to clipboard

[BUG]建议shell 脚本同时增加是否开启 set -x

Open wang-qa opened this issue 1 year ago • 5 comments

联系方式

No response

1Panel 版本

v1.9.6

问题描述

使用定时计划更新git仓库,提示

fatal: detected dubious ownership in repository at '/home/kubuntu/git/projectName'
To add an exception for this directory, call:

	git config --global --add safe.directory /home/kubuntu/git/projectName

执行 su kubuntu ,通过whoami``id -u验证,也无法切换到普通用户

重现步骤

  1. 拉取一个仓库
  2. 创建一个定时任务
su kubuntu
whoami
id -u
cd $HOME
for dir in git/*; do
  echo -e "\n更新项目--> $dir"
  if [ -d "$dir" ]; then
    cd "$dir"
    echo -e "进入目录: $(pwd)"
    echo -e "git pull 拉取项目" && git pull
    cd "$current_path"
    echo -e "返回目录: $current_path"
  fi
done
  1. 检查定时任务的报告

期待的正确结果

  1. git仓库正常更新,没有报错
  2. 可以切换到普通用户执行而非默认root用户

相关日志输出

root
0
/home/kubunu
当前路径为 /home/kubunu


更新项目--> git/bats-core
进入目录: /home/kubunu/git/bats-core
/home/kubunu/git/bats-core
git pull 拉取项目
fatal: detected dubious ownership in repository at '/home/kubunu/git/bats-core'
To add an exception for this directory, call:

	git config --global --add safe.directory /home/kubunu/git/bats-core
返回目录: /home/kubunu

附加信息

No response

wang-qa avatar Feb 21 '24 03:02 wang-qa

建议shell 脚本同时增加是否开启 set -x

wang-qa avatar Feb 21 '24 03:02 wang-qa

你这问题是文件夹的所有者和当前的用户不一致导致的,可以尝试添加错误信息中给提供的 git config 命令。

wanghe-fit2cloud avatar Feb 21 '24 06:02 wanghe-fit2cloud

建议shell 脚本同时增加是否开启 set -x

感谢反馈,后续版本会考虑启用 Shell 脚本的跟踪功能

wanghe-fit2cloud avatar Feb 21 '24 06:02 wanghe-fit2cloud

你这问题是文件夹的所有者和当前的用户不一致导致的,可以尝试添加错误信息中给提供的 git config 命令。

正常用户权限、所有者都没问题,都为当前用户 使用定时计划功能时,登录用户为root,导致的所有者不一致 通过su $user切换后,执行id -u查询还是0 没有切换成功

# 切换前
whoami
id -u

# 切换用户后
su kubuntu
echo $?
id -u

检查切换命令执行成功,但用户切换失败(ssh 可登录,用户无问题)

wang-qa avatar Feb 21 '24 06:02 wang-qa

su 命令会启动一个新的 shell,shell 会有新的用户上下文,所以这里需要改一下脚本

su ubuntu -c '
echo "whoami: "
whoami
'

ssongliu avatar Feb 21 '24 09:02 ssongliu