2015년 6월 8일 월요일

유닉스에서 디렉토리를 실행시킨다는 의미

유닉스 계열 OS에서는 별도의 실행파일을 나타내는 확장자가 없으며 chmod 명령어를 이용해서 실행 속성인 x를 실행파일로 간주합니다.

명령어 프롬프트에서 특정파일의 이름을 입력하면 쉘은 사용자가 그 파일에 대한 접근권한이 있는지를 먼저 확인한 후에 파일이 실행 속성을 갖고 있는지를 판단하기 위해서 아이노트의 x 필드를 확인합니다.

이때 실행파일에 실행속성이 없다면 에러메세지를 출력하고, 실행 속성이 있으면 비로서 해당 명령어를  실행하게 되는 과정을 거치게 됩니다. 따라서 이미 정상으로 작동하고 있는 명령어라 하더라도 chmod 명령어를 이용해서 실행 속성인 x를 제거하면 실행시킬 수 없습니다.

디렉토리 안에는 현재디렉토리와 상위 디렉토리를 의미하는 특수파일인 .와 ..가 포함되어 있는데 상위 디렉토리 파일인 ..에 의해서 고리처럼 연결된 디렉토리 구조를 거슬러 올라갈 수 있습니다.

이것은 상위 디렉토리와 현재 디렉토리를 연결하고 있는 링크와 같으며, 다른 디렉토리로 이동하기 위해서는 이러한 링크 정보를 cd 명령어의 인수로 넘겨준 후에 함께 실행시켜 주어야 합니다.

따라서 디렉토리에 실행 속성이 주어지지 않으면 해당 디렉토리로 이동할 수 없게 됩니다. 인터넷 홈페이지를 만들기 위해서는 임의의 사람들이 자신의 홈 디렉토리 안에 만들어 놓은 하위 디렉토리와 HTML 문서들을 읽을 수 있도록 허용해야 하기 때문에 디렉토리에 대한 접근은 예외없이 drwxr-xr-x로 설정되어야 합니다.

댓글 없음:

댓글 쓰기