웹 브라우저를 통해 파일의 권한이 어떻게 동작하는지 확인하는 실습을 진행해보자.

 

먼저, 웹 서비스를 이용하기 위해 httpd 서비스 데몬을 설치하고 실행시켜야 한다.

 

1) httpd 서비스 데몬 설치

 

dnf install httpd* -y // 질의에 대한 대답은 항상 yes

 

httpd 서비스 데몬이 설치되고 나면 웹 서버의 루트 디렉토리인 /var/www/html 디렉토리가 생성된 것을 확인할 수 있다.

 

2) httpd 서비스 데몬 실행

 

service httpd start // 서비스 구동
netstat -lntup | grep http // 확인

 

httpd 서비스 데몬 가동 후, 정상적으로 실행 중인지 확인한다.

 

이제, 본격적으로 실습에 들어가보자.

 

/var/www/html 디렉토리 권한 변경

/var/www/html 디렉토리의 권한 변경 후, 동작을 확인해보자. (디렉토리는 x권한이 중요하다.)

 

/export/sdb/home/sevas 디렉토리 하위에 있는 index.html 파일을 웹 서버 루트 디렉토리인 /var/www/html 디렉토리로 복사한다.

index.html 파일의 내용은 다음과 같다.

 

현재 /var/www/html 디렉토리에 대한 OTHER 권한은 r-x 읽기, 접근 권한을 부여받고 있다. 따라서, 해당 디렉토리 내의 index.html 파일로 접근이 가능하다. 

 

* index.html 파일의 OTHER 권한은 r-- 읽기 권한이 있으므로, 상위 디렉토리로 접근 가능하다면 정상적으로 해당 웹 페이지 파일을 불러들일 수 있다.*

 

192.168.10.10 이라는 IP 주소로, 웹 페이지를 열게되면 외부 사용자는 접근 권한이 있으므로 /var/www/html 디렉토리 하위의 index.html 파일의 내용이 나타나게 되는 것을 확인할 수 있다.

 

 

1) /var/www/html 디렉토리 742 접근 권한

 

chmod 742 /var/www/html

 

/var/www/html 디렉토리의 OTHER 권한은 2 값이 되어, 쓰기 권한만 행사할 수 있다. 

 

해당 디렉토리로 접근이 불가능해졌기 때문에 웹 페이지가 출력되지 않는 것을 확인할 수 있다.

 

2) /var/www/html 디렉토리 312 접근 권한

 

chmod 321 /var/www/html

 

/var/www/html 디렉토리의 OTHER 권한은 1 값이 되어, 접근 권한만 행사할 수 있다.

 

해당 디렉토리로의 접근이 가능해졌으므로, 192.168.10.10 이라는 IP 주소로 접속하면 웹 페이지가 출력되는 것을 확인할 수 있다.


3) 추가 예제

 

실습 후, 원래 권한으로 복구한다. (/var/www/html 디렉토리의 권한 755)

 


index.html 파일 권한 변경

index.html 파일의 권한 변경 후, 동작을 확인해보자. (파일은 r 권한이 중요하다.)

 

현재, index.html 파일의 권한 정보는 다음과 같다. 해당 파일에 대한 OTHER 의 권한은 r-- 읽기만 가능하다.

 

파일은 읽기 권한이 중요하므로, 현상태에서는 정상적으로 웹 페이지가 출력된다.

 

1) index.html 파일 742 접근 권한

 

chmod 742 index.html

 

index.html 파일의 OTHER 권한은 2 값이 되어, 쓰기 권한만 행사할 수 있다.

 

해당 파일에 대한 읽기 권한이 없으므로, 192.168.10.10 이라는 IP 주소로 접속하면 해당 페이지에 접근할 권한이 없다는 문구가 출력되는 것을 확인할 수 있다.

 

2) index.html 파일 015 접근 권한

 

chmod 015 index.html

 

index.html 파일의 OTHER 권한은 5 값이 되어, 읽기 및 실행 권한을 행사할 수 있다.

 

해당 파일에 대한 읽기 권한이 있으므로, 192.168.10.10 이라는 IP 주소로 접속하면 웹 페이지가 정상적으로 출력되는 것을 확인할 수 있다.

 

3) 추가 예제

 

 

 

 

공부하면서 정리한 내용을 글로 작성하였습니다.

혹시나 잘못된 내용이 있다면 댓글로 알려주시면 감사하겠습니다. :)

COMMENT