2012-06-04 211 views
6

我創建了一個Jenkins版本來編譯和分發一些模塊。構建命令的輸出(例如,makeant)被重定向到名爲build.log的文件。Jenkins:權限被拒絕給777文件

有趣的是,重定向echo到同樣的文件,使用tee,失敗:

tee: ../../build.log: Permission denied 

該文件存在,並且具有777個權限(與ls -ltrh ../..選中)。任何想法這個寫法有什麼問題?

+2

你確定目錄的路徑有適當的權限嗎?不只是文件? – sjakubowski

+0

您確定運行jenkins的用戶是擁有777權限的用戶嗎? –

回答

13

對文件的權限很重要,但對該文件的超級目錄的權限也很重要。

如果你不具有讀取和執行上您是通過遍歷目錄的權限,那麼你就不能按照該文件的相對路徑。如果您缺少對「build.log」目錄的讀取權限,則無法列出該目錄中的文件。讀,寫和執行權限做的事對目錄和他們大致映射到:

  • 讀=允許文件的清單
  • 寫=允許創建/刪除/修改文件
  • 執行=允許更改目錄到這個目錄