2022 데이터 사이언스/Linux

15. 권한(2): 웹 서버와 http

gool 2022. 5. 30. 00:58
웹 서버는 client의 요청에 web page를 제공해주는 서버이다.

 

 

 

웹 서버가 클라이언트의 요청에 따라 웹 페이지를 제공해주는 서버라면,

http는 웹 서버와 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약이다.

 

이번 포스팅에서는 FTP 파일 전송 후 Linux에서 html 파일을 브라우저에 띄우고,

파일과 디렉토리의 허가권을 변경해보며 웹 페이지의 변화를 살펴보는 실습을 한다.

 

 

 

웹 서버 설치 및 사용 준비

 

웹 서버 설치 및 방화벽 설정을 위해 아래 다섯 줄의 명령어를 차례로 입력해준다.

  • yum -y install httpd-* : web server 설치
  • systemctl restart httpd : web server 실행
  • systemctl enable httpd : 부팅 시 web server 자동 실행
  • firewall-cmd --permanent --add-service=http : 방화벽 예외규칙에 web server 추가
  • firewall-cmd –reload : 방화벽 예외규칙 적용

 

 

 

 

웹 서버 사용 방법

 

클라이언트(= Windows)에서 웹 브라우저의 주소창에 Linux IP를 입력한다.

아래와 같이 Apache HTTP server test page가 나온다면 웹 서버에 잘 연결된 것이다.

아직 웹 서버에 올릴 파일을 설정해주지 않았기 때문에 test page가 뜬다.

 

 

 

test page에는 웹 페이지에 올릴 파일을 /var/www/html/ 디렉토리로 옮겨주라는 말이 있다.

FTP를 사용하여 itbank 홈 디렉토리에 파일을 업로드하고, 위 디렉토리로 이동시키려고 한다.

 

Windows에서 AM09 폴더에 index.txt 파일을 생성하고 적당히 내용을 입력한다.

파일의 확장자명을 txt에서 html로 변경한 후 html 파일로 바뀐 것을 확인한다.

명령 프롬포트에서 FTP에 접속하고 put index.html 명령어로 ~itbank에 파일을 업로드한다.

 

PuTTY에서 해당 파일을 /var/www/html/ 디렉토리로 옮겨준 후 웹 페이지를 새로고침 하면,

test page에 index.html 파일의 내용이 나타나는 것을 확인할 수 있다.

 

 

웹 서버에 파일을 올리는 과정에서 사용된 파일과 디렉토리들로 권한 변경 실습을 해보려고 한다.

 

 

 

허가권 변경 실습

 

실습 1)

 

index.html의 허가권을 바꿔가며 브라우저에 파일이 제대로 출력되지 않는 권한을 찾아본다.

제일 위의 허가권이 기본 권한이며, 아래는 모두 기본 권한에서 문자를 하나씩 제외시킨 권한이다.

 

 

 

(풀이)

 

마지막 권한의 경우 index.html이 브라우저에 정상적으로 출력되지 않는다.

즉, Other 영역의 r 문자가 누락되면 웹 사이트가 제대로 뜨지 않는다. (권한값 640)

다른 모든 권한은 index.html을 브라우저에 정상적으로 출력시킨다.

 

Other 영역에 읽기 권한이 없으면 페이지를 읽어오지 못하기 때문에 정상 출력시키지 못한다.

왜 하필 Other 영역의 r 권한인지, 정확한 이유는 소유권 내용을 알아야 이해할 수 있다.

 

다시 index.html의 권한을 644로 돌려놓고 다음 실습을 진행한다.

 

 

 

실습 2)

 

이번에는 /var/www/html 디렉토리의 권한을 바꿔가며 파일이 출력되지 않는 권한을 찾아본다.

 

 

 

(풀이)

 

이번에도 마지막 권한에서 index.html 파일이 정상적으로 출력되지 않는 것을 확인할 수 있다.

단, 이번에는 Other 영역의 r 권한이 아닌 x 권한이 누락되었다.

 

지난 포스팅에서 디렉토리의 접근 권한이 매우 중요하다고 언급한 적이 있다.

디렉토리에 x 권한이 없으면 디렉토리 자체 그리고 내부의 항목들을 사용할 수 없다.

 

다시 /var/www/html 디렉토리의 권한을 755로 바꾸고 허가권 파트의 마지막 실습을 진행한다.

 

 

 

실습 3)

 

마지막으로 사용자 홈 디렉토리의 권한을 바꿔가며 두 가지를 확인해본다.

FTP 접속이 가능한지 확인하고, 가능하다면 파일의 업로드가 가능한지 살펴본다.

현재 itbank 사용자의 홈 디렉토리 허가권은 700이다.

 

 

 

(풀이)

 

600, 400, 200, 000 권한의 경우 FTP 접속이 불가능하며,

네 개 권한의 공통점은 Owner 영역에 x 권한이 누락되어 있다는 것이다.

 

PuTTY의 경우 사용자 홈 디렉토리로 이동을 못해도 접속은 가능하다.

반면, FTP는 홈 디렉토리로 접근이 안되면 접속 자체가 불가능하다.

 

 

파일 업로드가 불가능한 권한은 500과 100이다.

두 권한의 공통점은 Owner 영역에 w 권한이 없다는 것이다.

 

파일 업로드는 사용자 홈 디렉토리에 파일의 복사본을 만들어주는 작업이다.

쓰기 권한이 없으면 복사본을 생성하는 것이 불가능하다.

 

다음 내용으로 넘어가기에 앞서 ~itbank의 권한을 다시 700으로 변경해준다.