Jenkins-文件夹上的权限被拒绝

时间:2020-10-07 20:00:09

标签: jenkins centos

我有一个运行在CentOS 8上的jenkins,一个简单的工作,应该在文本文件中写一些东西。

echo "Hello" > /home/dev/Git/Test.txt

目标目录应为Git

[dev@h2899618 ~]$ ls -l /home/dev/
insgesamt 12
drwxrwxr-x 3 dev dev 4096  7. Okt 20:54 Git

用户dev具有以下权限:

[dev@h2899618 ~]$ /usr/bin/id
uid=1002(dev) gid=1002(dev) Gruppen=1002(dev),10(wheel),48(apache),991(jenkins),994(docker)

Jenkins使用以下权限(通过在作业内部执行/usr/bin/id进行验证):

uid=996(jenkins) gid=991(jenkins) groups=991(jenkins)

作业失败,并显示以下消息:

[Test4Jenkins] $ /bin/sh -xe /tmp/jenkins3692200929413510467.sh
+ /usr/bin/id
uid=996(jenkins) gid=991(jenkins) groups=991(jenkins)
+ echo Hallo
/tmp/jenkins3692200929413510467.sh: line 3: /home/dev/Git/Test.txt: Permission denied

那为什么詹金斯没有写这个目录的权限?

1 个答案:

答案 0 :(得分:1)

因此,您具有 drwxrwxr-x 3 dev dev 4096 权限,这意味着用户dev可以执行任何操作,组dev中的用户可以执行任何操作,其他(包括jenkins)没有写位,因此无法修改目录内容。但是,通过执行chmod o+w /home/dev/添加此位将以最坏的方式解决问题,因为您要授予一个用户对另一个用户的主文件夹的权限。最好使用一些专用目录,例如/var/lib/share。甚至最好尝试以不需要詹金斯访问任何东西的方式实现您的目标,但它是自己的主文件夹=)祝您好运! 附言您可能想将jenkins个用户添加到组dev,而不是将dev添加到jenkins用户