파일을 실행하려면 읽기 권한이 필요합니까?

파일을 실행하려면 읽기 권한이 필요합니까?

파일을 실행하려면 읽기 권한이 필요합니까? 파일을 실행하려면 파일을 메모리에 로드해야 하기 때문에 그렇게 생각하는 것이 당연합니다. 대답이 '아니오'라면 그 이유는 무엇입니까?

특히 파일이 디렉터리인 경우에도 동일한 문제가 발생합니까?

감사해요.

답변1

파일을 실행할 때 읽을 필요가 없는 경우가 많기 때문에 읽기 권한이 필요하지 않습니다. 당신 말이 맞습니다. 시스템이 당신을 대신하여 읽어야 하지만 그렇지 않습니다.읽기 권한이 필요하도록 정의됨(실행 중인 어떤 것도 파일 내용에 액세스할 필요가 없기 때문입니다.)

파일 실행에 파일 읽기가 포함되는 경우는 예외입니다.자격 증명을 사용하여 프로세스를 실행하여. 따라서 셸 스크립트(실제로는 일반적으로 스크립트)에는 에서 처리되는 실행 파일과 마찬가지로 읽기 권한이 필요합니다 binfmt_misc.

마찬가지로, 디렉토리에 접근하는 것은 그것을 읽는 것을 포함하지 않습니다. 내용을 나열하지 않고 디렉토리에 들어갈 수 있습니다. 눈가리개를 착용한 채 건물을 탐색하는 것과 같다고 생각하십시오. 실행/검색 권한을 사용하면 방을 바꾸기 위해 문을 열 수 있고(문이 어디에 있는지 이미 알고 있는 경우) 읽기 권한을 사용하면 눈가리개를 벗고 무엇이 있는지 볼 수 있습니다. 방에.

관련 정보