我从 jenkins 运行包含此命令的 shell 脚本(Centos 6.7),以便导入根环境:
env -i `cat /home/admin/root_environment.sh` /home/admin/create_user.sh
root_environment 是用
env > root_environment.sh
脚本 create_user.sh 包含
/usr/sbin/useradd -p "pass" "username"
Jenkins 正在使用自己的 jenkins 用户运行。如果我以 root 身份运行脚本 create_user.sh,该脚本可以正常工作,但是,从 jenkins 运行我得到:
useradd: cannot lock /etc/passwd; try again later
答案1
您可以将用户 jenkins 添加到具有 sudo 权限的 wheel 组(以 root 身份)
usermod -aG wheel jenkins
然后在脚本中使用它
echo "jenkins-password" | sudo -S /usr/sbin/useradd -p "pass" "username"