퍼미션에서 실행권한에 대한 자세한의미가 어떻게 되나여

cdral의 이미지

other 부분에 대해 기본이 디렉토리는 읽기와 실행을 줍니다
파일은 읽기만 주고요

디렉토리에 실행권한이 있다면 접근이 된다는 의미로 알고있습니다.
파일에 실행권한이 있다면 정확히 어떤 의미인가요

예로 index.html 파일에 실행권한이 있다면 해당파일을 실행??한다는 의미인가여
html파일을 실행한다는게 무슨의미인지 모르겟습니다. 웹에서 보여지는것 말고는여

setup.exe 파일에 실행권한이 있다면 해당파일을 실행한다면 예로
http://~~/setup.exe 주소를 url로 쳤을때 setup.exe를 실행하여 설치를 한다는 의미인가여?

정확히 파일에 대한 실행권한이 뜻하는게 무엇인지요
확장자에 따라 다른가요?

raymundo의 이미지

말 그대로 실행할 수 있다는 얘기죠...;; 메모리에 올려놓고 CPU가 인스트럭션을 수행하는 바로 그 실행...

유닉스/리눅스 시스템에 로그인해서 ls 엔터 치면 ls 가 실행되죠. /bin/ls 파일에 실행 퍼미션이 켜져 있기 때문입니다.

test.c 파일을 컴파일해서 나온 바이너리 a.out 파일은 실행 퍼미션이 켜져 있으니 ./a.out 이렇게 실행이 되죠.

index.html 파일을 실행퍼미션 켜고 쉘에서 실행하려 해봤자... 올바른 실행파일 (명세에 맞게 구성된 바이너리이거나, 또는 쉘스크립트나 Perl 등 스크립트 언어로 된 텍스트 파일)이 아니기 때문에 실행하면 에러가 나겠죠.

웹브라우저를 통해서 하는 경우는... 예를들어 perl로 만든 index.cgi 파일이 있다면
http://서버주소/index.cgi 를 브라우저에서 불러오는 순간
웹서버 프로세스가 저 index.cgi 를 실행하고, 실행 중에 출력되는 내용이 웹브라우저로 출력되는 겁니다.

> http://~~/setup.exe 주소를 url로 쳤을때 setup.exe를 실행하여 설치를 한다는 의미인가여?

이건, 웹브라우저가 setup.exe 파일을 님의 PC의 임시폴더에 다운받고 거기서 실행하는 거죠.
리눅스의 실행퍼미션하고는 전혀 관계 없습니다~

좋은 하루 되세요!

unsouled의 이미지

유닉스에서는 윈도우/dos 환경에서와는 달리 확장자라는 개념이 없습니다. abc.exe 라는 파일이 있다면 점을 포함해서 exe 끝까지가 전부 이름입니다.

윈도우/dos 환경에서는 확장자를 보고(exe, com, bat 등..) 실행가능한지 판단하지만, 리눅스에서는 퍼미션의 실행권한을 보고 실행파일인지 아닌지 판단합니다.