Linux 환경에서는 well-known 포트 (1~1024 포트) 를 사용하기 위해서는 root 권한이 필요합니다.
http.m 설정파일에 well-known 포트를 사용하도록 구성된 경우, 컴파일 시에 [CFL-00368] 경고 문구가 출력됩니다.
[webtob5@CentOS7-WAS1 ~]$ wscfl -i http.m
[CFL-00368] Configuration uses privileged listen ports (those below 1024). These ports generally require root privilege. The user may run WebtoB as a superuser, or change the owner of htl to root and enable the setuid (sticky) bit on htl.
Current configuration:
Number of client handler(HTH) = 1
Supported maximum user per node = 16384
Supported maximum user per handler = 16384
Successfully created the configuration file (/sw/webtob5/config/wsconfig) for node CentOS7-WAS1.
The host name of the running machine is CentOS7-WAS1.
별도 작업을 해주지 않으면 well-known 포트를 사용하는 설정으로 WebtoB 기동 시 다음과 같은 bind error 가 출력되며 포트 리스닝이 되지 않고 페이지 접속이 되지 않습니다.
[webtob5@CentOS7-WAS1 ~]$ wsboot
Booting WebtoB on node (CentOS7-WAS1)
Starting WSM at Fri Mar 3 13:27:11 2023
Starting HTL at Fri Mar 3 13:27:11 2023
Starting HTH at Fri Mar 3 13:27:11 2023
Current WebtoB Configuration:
Number of client handlers (HTH) = 1
Supported maximum user per node = 5
Supported maximum user per handler = 5
[2023-03-03T13:27:11] [HTL(2307)] [F] [HTL-00048] bind error. Listen port (80) is in use or address (0.0.0.0) is invalid. Try to bind to that port again in 10 seconds. errno=13(Permission denied)
[2023-03-03T13:27:11] [HTL(2307)] [F] [HTL-00048] bind error. Listen port (443) is in use or address (0.0.0.0) is invalid. Try to bind to that port again in 10 seconds. errno=13(Permission denied)
두 가지 방법으로 WebtoB 에서 well-known 포트를 사용할 수 있도록 설정할 수 있습니다.
아래 두 가지 방법 중 하나만 작업해주면 됩니다.
티맥스소프트 표준 작업 절차 상 setuid 설정이 기본이나, root 권한이 모두 부여되는 setuid 특성 상 보안 문제가 우려되는 경우에는 setcap 을 이용하면 됩니다.
- setuid 설정 방법
- root 계정으로 로그인
- WebtoB 설치 경로($WEBTOBDIR) 아래의 bin 디렉토리로 이동
- htl 프로세스의 소유자, 그룹 수정 - 소유자는 root, 그룹은 WebtoB 실행 계정이 속한 그룹
- setuid 설정
[root@CentOS7-WAS1 bin]# pwd
/sw/webtob5/bin
[root@CentOS7-WAS1 bin]# ls -al htl
-rwxr-x--- 1 webtob5 was 555104 12월 26 08:11 htl
[root@CentOS7-WAS1 bin]# chown root:was htl
[root@CentOS7-WAS1 bin]# chmod 4750 htl
[root@CentOS7-WAS1 bin]# ls -al htl
-rwsr-x--- 1 root was 555104 12월 26 08:11 htl
- setcap 설정 방법
- root 계정으로 로그인
- WebtoB 설치 경로($WEBTOBDIR) 아래의 bin 디렉토리로 이동
- setcap 설정
[root@CentOS7-WAS1 bin]# pwd
/sw/webtob5/bin
[root@CentOS7-WAS1 bin]# ls -al htl
-rwx------ 1 webtob5 was 555104 12월 26 08:11 htl
[root@CentOS7-WAS1 bin]# setcap 'cap_net_bind_service=+ep' htl
[root@CentOS7-WAS1 bin]# getcap htl
htl = cap_net_bind_service+ep
[root@CentOS7-WAS1 bin]# ls -al htl
-rwx------ 1 webtob5 was 555104 12월 26 08:11 htl
경우에 따라서는 http.m 설정파일에 추가 설정이 필요할 수 있습니다. (setuid, setcap 설정해도 오류 발생 시)
*NODE 절 설정에 IPCPERM = 0777 옵션을 추가해주시기 바랍니다.
*DOMAIN
webtob1
*NODE
CentOS7-WAS1 WEBTOBDIR="/sw/webtob4",
SHMKEY = 54000,
DOCROOT="/sw/webtob4/docs",
PORT = "8080",
HTH = 1,
ERRORDOCUMENT = "503",
JSVPORT = 9900,
IPCPERM = 0777, ### 이 부분을 추가 설정
LOGGING = "log1",
ERRORLOG = "log2",
SYSLOG = "syslog"
설정이 완료된 뒤 WebtoB 를 기동하면 오류 없이 WebtoB 에서 well-known 포트를 사용할 수 있습니다.
'Middleware > WebtoB' 카테고리의 다른 글
WebtoB 요청 처리 순서 (http.m 설정파일 보는 법) (0) | 2023.03.09 |
---|---|
WebtoB 설정파일 구조 (http.m) (1) | 2023.03.06 |
WebtoB 기본 운영 가이드 (설정파일 컴파일, 기동 및 종료) (1) | 2023.03.03 |
WebtoB WBSSL(OpenSSL) 버전 정보 확인 (0) | 2023.03.03 |
WebtoB 버전 정보 확인 (0) | 2023.03.03 |
댓글