我正在使用 jenkins 的 GitLab 插件来克隆存储库,问题是“jenkins”是一个没有主目录的系统帐户(env 变量指向 JENKINS_HOME="/var/lib/jenkins")
如果我尝试克隆受保护的存储库,我会收到错误
stdout:
stderr: Could not create directory '/home/jenkins/.ssh'.
Host key verification failed.
fatal: Could not read from remote repository.
我尝试使用 usermod 移动主目录,但由于不是常规用户帐户,因此失败
usermod: user 'jenkins' does not exist in /etc/passwd
由于我的主目录位于 NFS 下,因此我无法在 /home/jenkins 和 /var/lib/jenkins 之间创建符号链接
如何将系统帐户主目录移动/指向 /var/lib/jenkins 而不是 /home/jenkins?
谢谢
答案1
您应该能够使用以下命令更改它usermod
:
-d
,--home
主目录用户的新登录目录。
如果
-m
给出了该选项,当前主目录的内容将被移动到新的主目录,如果新主目录不存在,则会创建该目录。
所以你只需要
usermod -d /var/lib/jenkins jenkins
在定义帐户的系统上。