![如果我在文件夹中创建文件夹,则不包含执行位权限,因此我应该手动设置它才能访问它](https://linux22.com/image/1183993/%E5%A6%82%E6%9E%9C%E6%88%91%E5%9C%A8%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E5%88%9B%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%EF%BC%8C%E5%88%99%E4%B8%8D%E5%8C%85%E5%90%AB%E6%89%A7%E8%A1%8C%E4%BD%8D%E6%9D%83%E9%99%90%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E5%BA%94%E8%AF%A5%E6%89%8B%E5%8A%A8%E8%AE%BE%E7%BD%AE%E5%AE%83%E6%89%8D%E8%83%BD%E8%AE%BF%E9%97%AE%E5%AE%83.png)
我最近遇到一个问题,我有一台服务器,当我在特定文件夹内创建一个子文件夹“文件夹的名称是:“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