
요즘 문제가 생겼어요. 서버가 있는데, 특정 폴더 안에 하위 폴더를 만들 때 "폴더 이름은 "AFORWARD"입니다. 예를 들어 "AFORWARD" 안에 "GG"를 만들고, 어떤 폴더에든 "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