2012-06-04 174 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”目录的读取权限,则无法列出该目录中的文件。读,写和执行权限做的事对目录和他们大致映射到:

  • 读=允许文件的清单
  • 写=允许创建/删除/修改文件
  • 执行=允许更改目录到这个目录