6. selinux 설정
시나리오
httpd의 기본 디렉토리는 /var/www/html 입니다. 관련 파일 및 디렉토리는 변경하거나 삭제하지 마세요.
웹 브라우저를 통해 현재 서버에 접속하여 /var/www/html 디렉토리 내의 html 파일들이 정상적으로 보이는지 확인하세요.
httpd의 기본 포트는 현재 82번 포트입니다.
서버가 재부팅 될 때 httpd 서비스는 유지되어야 합니다.
현재 서버의 selinux가 Enforcing으로 설정되어 있으며 selinux로 인해 서버에서 httpd가 failed 되어 있습니다.
기본 환경 설정: 실제 시험장과 동일하게 구성하기 위함
httpd 설치 및 활성화
dns install httpd -y
systemctl enable --now httpd.service
기본 포트 변경 (80 -> 82)
sed -i 's/Listen 80/Listen 82/' /etc/httpd/conf/httpd.conf
httpd 재시작
systemctl restart httpd.service
Selinux 설정
포트 변경 후 httpd
서비스 상태 확인해보면 failed
가 뜸.
systemctl status httpd
httpd
서비스 실패 로그 자세하게 확인하기.
journalctl -eu httpd
2월 12 17:06:08 localhost.localdomain httpd[5605]: (13)Permission denied: AH00072: make_sock: could not bind to address [::]:82
2월 12 17:06:08 localhost.localdomain httpd[5605]: (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:82 2월 12 17:06:08 localhost.localdomain httpd[5605]: no listening sockets available, shutting down
현재 82번 포트에 대해서 block 되는 중
해결하기
semanage
로 82번 포트를 http_port_t
에 등록해주기
semanage port -l | grep http
semanage port -a -t http_port_t -p tcp 82
systemctl restart httpd.service
# curl로 localhost:82에 요청 보내보기
curl localhost:82
정상적으로 응답되면 성공
방화벽 포트도 추가해주기
firewall-cmd --permanent --add-port=82/tcp
firewall-cmd --reload
7. 협업 디렉토리 설정
시나리오
/home/manager 디렉토리 생성
test 그룹의 사용자만 읽기와 쓰기가 가능함.
그 외 다른 사용자는 어떠한 설정도 불가능.
단 root는 모든 작업이 가능
생성된 파일을 자동적으로 소유 그룹이 test이 되어야 함.
mkdir /home/manager
chown .test /home/manager
chmod 070 /home/manager
chmod g+s /home/manager
ls -ld /home/manager