나는 Linux 디렉토리에서 권한이 작동하는 방식의 근본적인 측면을 이해하지 못했다고 생각합니다.
로컬 아파치 서버에서 이 폴더에 액세스하려고 합니다.
sudo chmod 777 /home/ut/programmes/Programmation/p5-linux/
sudo -u www-data ls /home/ut/programmes/Programmation/p5-linux/
ls: cannot read directory '/home/ut/programmes/Programmation/p5-linux/': Permission denied
왜 작동하지 않나요? 권한이 777인데도요?
추가적으로 이렇게 하면:
sudo chown ut:www-data /home/ut
sudo chmod 710 /home/ut
/home/ut/programmes/Programmation/p5-linux/의 권한을 변경하지 않고 이제 다음과 같은 결과를 얻습니다.
sudo -u www-data ls /home/ut/programmes/Programmation/p5-linux/
icudtl.dat libffmpegsumo.so locales nw.pak p5 p5.png Projets
내가 한 유일한 일은 상위 사전의 그룹을 변경하는 것뿐이었습니다. 지금은 왜 작동합니까?
답변1
첫 번째 시도에서는 마지막 디렉터리에 대한 모든 권한만 갖게 됩니다.
/home/ut/programmes/Programmation/p5-linux/
하지만 모든 상위 디렉터리에 대한 "실행" 권한이 필요합니다. 추가하신 내용에 따르면 /home/ut에서 실행되지 않는 것으로 확인됩니다. 상위 디렉터리에 대한 읽기 권한은 필요하지 않습니다.
두 번째 시도에서는 실행 권한(읽기 권한이 아님)만 필요하다는 것을 알게 되었습니다.