如果我在文件夹中创建文件夹,则不包含执行位权限,因此我应该手动设置它才能访问它

如果我在文件夹中创建文件夹,则不包含执行位权限,因此我应该手动设置它才能访问它

我最近遇到一个问题,我有一台服务器,当我在特定文件夹内创建一个子文件夹“文件夹的名称是:“AFORWARD”,例如我在“AFORWARD”内创建“GG”,我在“AFORWARD”内创建的任何文件夹都变得无法访问,这意味着我无法进入它们,当我尝试查看为子目录设置的权限时,看起来默认情况下没有包含执行位,但是当我在其他目录上执行此操作时,我获得了文件夹默认包含的执行位权限,所以,我这样做了:


ls -l -d ./AFORWARD

输出:

drwxrwxr-x+ 9 admin admin 4096 Oct 16 01:19 ./AFORWARD


ls -l -d ./AFORWARD/GG

输出:

drw-rwxr--+ 2 admin admin 4096 Oct 16 01:31 ./AFORWARD/GG

我认为文件夹的一切似乎都正常,但也许我不知道,或者是出了什么问题,我知道可以使用简单的 chmod 命令来修复它并赋予文件夹所需的权限,但问题是,我需要在创建文件夹后默认设置的权限,问题出在 java 上,我们的服务器程序在 java 上运行,java 创建文件、文件夹、读取它们,并用它们做许多其他事情,它无法访问创建的文件夹,因为它们默认没有执行位权限。一旦不能,它就会失败,服务器崩溃。

答案1

从目录及其子目录中删除 ACL,这很有帮助。

setfacl -b -R ./AFORWARD

相关内容