2016-05-11 88 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」傳遞命令。這樣你可以找到詹金斯正在使用的用戶。 –

相關問題