
У меня возникла проблема на днях. У меня есть сервер. Когда я создаю подпапку внутри определенной папки с именем «AFORWARD», например, я создаю «GG» внутри «AFORWARD». Любая папка, которую я создаю внутри «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