2015-04-02 169 views
0

我试图做类似的东西:管到文件权限被拒绝

echo "things" >> file 

从Java项目调用。即使直接从终端调用此产量产量

-bash: file: Permission denied 

这是因为没有适当的指引。或者,我可以做

sudo -s 'echo "wtf" >> metrics' 

和那个作品。然而,我不能从java项目中做sudo。我可以用什么方法来完成这个任务? 我可以根据需要更改文件权限,每次项目运行时我只需要为它添加一行。

+0

为用户提供对文件的写入权限或通过以具有该权限的用户身份运行的工具或守护程序进行间接访问。 – 2015-04-02 13:52:48

回答

0

我想,这不是因为重定向(>>)。这是因为该文件需要权限。如果运行java程序的用户有足够的权限写入对象命名文件,那么它将起作用

+0

用户拥有该文件的完全权限并拥有该权限。即使直接从终端调用也会得到相同的结果。我如何需要更改它的工作权限? 我知道我可以创建一个新文件,并回显“东西”>>文件和一切工作。 – swinters 2015-04-02 14:12:26

+0

通常,一般写入权限应该足以附加到文件。如果不是这样,那么当有其他事情发生时,你可能会有更复杂的环境。请尽可能详细地说明您的环境,例如操作系统,文件系统,安装选项,使用授权访问控制系统,SELinux,扩展POSIX文件属性,基于内核的虚拟化等。 – GreyCat 2015-04-03 14:49:12