![디렉토리 권한 [닫기]](https://linux55.com/image/70675/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%20%EA%B6%8C%ED%95%9C%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
저는 현재 PHP 서버 탐색기를 개발 중이며 디렉터리가 비어 있는지 또는 권한이 부족하여 읽을 수 없는지 확인해야 합니다.
내 웹 애플리케이션이 사용자로 실행 중이고 apache
내 애플리케이션이 디렉터리 패턴을 기반으로 읽을 수 없는 폴더에 액세스할 수 있다는 것을 알 수 있습니다.
권한은 다음과 같습니다.
ls -al
drwxr-x--- 8 laura jpGrp 4096 Aug 10 09:40 dir1
다음은 jpGrp의 내용입니다.
cat /etc/group | grep "jpGrp"
jpGrp:x:501:laura,lola,gerard
Apache 사용자를 위한 내용은 다음과 같습니다.
grep apache /etc/passwd
apache:x:48:48:Apache:/var/www:/sbin/nologin
Apache가 루트 그룹에 없습니다.
cat /etc/group | grep "root"
root:x:0:root
shell_exec("whoami") PHP 함수의 var_dump:
string 'apache' (length=7)
친구가 ACL을 살펴보라고 했지만 표준 Unix 모드보다 우선하는 것은 없습니다.
그렇다면 Apache가 이 디렉터리(dir1)를 열 수 있는 이유는 무엇일까요? (이게 내 문제야)
답변1
> 그렇다면 왜 아파치가 이 디렉토리(dir1)를 열 수 있습니까?
나는 그것에 대한 답을 가지고 있지 않으며 일반적으로 그래서는 안됩니다.
> 그룹 안에 그룹을 만들 수 있나요?
아니요, Linux에서는 모든 그룹 구성원이 사용자여야 합니다.
> 아니면 그룹을 디렉토리의 소유자로 만드시겠습니까?
예, 명령을 통해 사용자 및 그룹에 디렉터리 소유권을 할당할 수 있습니다 chmod myuser:mygroup mydir
. 디렉터리에 대한 "그룹" 권한은 그룹의 구성원인 모든 사용자에게 적용됩니다.