/data/log/error.log即使我设置了 <chmod dir=“${basedir}/../data“ perm=”777“ includes=”**/*“/>

/data/log/error.log permission denied even though i set <chmod dir="${basedir}/../data" perm="777" includes="**/*"/>

提问人:Rajsekar Reddy 提问时间:9/29/2023 最后编辑:shellterRajsekar Reddy 更新时间:10/3/2023 访问量:31

问:

我面临这个问题,我的构建 .xml 看起来像这样

    <chmod dir="${basedir}/" perm="777" />
    <chmod dir="${basedir}/logs" perm="777" />
    <chmod dir="${basedir}/../data" perm="777" includes="**/*"/>

但是在加载应用程序时,我遇到了以下错误

/data/log/error.log couldn't be opened in appended mode: failed to open stream: permission denied 

我假设数据目录使用以下行递归地分配了所有具有权限 777 的子目录和文件

<chmod dir="${basedir}/../data" perm="777" includes="**/*"/>

目录权限:

[root@staging ~]# ls -la /data/builds/application/build-0.2246/unzipped/data/log/
drwxrwxrwx 2 root root     38 Sep 26 15:38 .
drwxrwxrwx 8 root root    115 Sep 26 15:37 ..
-rw-r--r-- 1 root root 286437 Sep 27 06:25 error.log
-rwxrwxrwx 1 root root  88723 Sep 27 06:25 event.log

预期内容:data/log/error.log 应具有 777 权限,不应面临任何权限问题

我试过了什么:当我遇到这个问题时,我不得不使用终端命令手动授予 777 权限

Linux Shell 权限 蚂蚁 CentOS

评论

0赞 shellter 9/30/2023
“我不得不手动授予 777 权限......”所以当你从终端做的时候它起作用了吗?我原以为它也会失败。典型的原因是上层目录通常为 perms 755 或更少,并且由管理员用户拥有。不知道它在您的构建 .xml 中不起作用。祝你好运。/firstLevel
0赞 shellter 9/30/2023
我建议您发布一些独立父子目录的实际权限 () 列表,并 indlate 运行您的 .祝你好运。ls -ldbuild.xml
0赞 Rajsekar Reddy 10/3/2023
@shelter,当我从终端授予 777 权限时,它有效,上层目录是 ${basedir},数据被授予 777 权限,如构建.xml所示。
0赞 Rajsekar Reddy 10/3/2023
@shelter,我也更新了“ls -la”
0赞 shellter 10/3/2023
所以你真的有一个基于根的 dir 和 777 烫发?无论如何,如果没有在那里,我认为我无能为力。可能还有其他一些系统安全进程阻止了您。强烈建议你在这里删除并重新发布到Unix和Linux(Stackoverflow致力于帮助解决编程代码(和工具)问题。您的问题似乎是关于使用和配置 *nix 工具。).祝你好运。/dataif/then/else

答: 暂无答案