2016-05-11 89 views
1

我使用詹金斯“执行shell”命令詹金斯无法打开目录权限被拒绝

ls -l /mnt/ftpbackup/ftpuser/* 

但得到错误

ls: cannot open directory /mnt/ftpbackup/ftpuser/: Permission denied 

我能当我登录为“运行同样的命令詹金斯的用户,见下文:

-bash-4.1$ id 
uid=493(jenkins) gid=490(jenkins) groups=490(jenkins),504(ftpuser) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 
-bash-4.1$ ls -l /mnt/ftpbackup/ftpuser 
total 48116044 
.... 
+1

只是为了验证,什么是“由用户启动”?詹金斯?你可以在失败的jenkins版本的控制台日志中找到相同的内容。 – prudviraj

+0

我没有看到控制台日志上的用户名,除了[工作区] $/bin/sh -xe /var/lib/jenkins/tmp/hudson4869177118530409607.sh – irom

+0

你也可以找到相同的外部控制台日志,点击左侧的内部版本号方建立历史? – prudviraj

回答

1

你是否试图通过詹金斯在詹金斯大师执行此命令?

尝试WHOAMI命令找出哪个用户詹金斯被采用来执行,如果您有任何节点执行命令

,詹金斯将使用您在节点的设置提供的凭据连接到节点,请检查。

+0

对,我试图在詹金斯大师中执行这个命令,我不认为我为主人提供了任何凭据,我应该怎么做? – irom

+0

我找到了解决方法,使用插件ssh到非jenkins凭据本地主机,而不是在jenkins中执行shell,它工作正常 – irom

+0

在“执行shell”作为“whoami”传递命令。这样你可以找到詹金斯正在使用的用户。 –

相关问题