현상
보안 취약점 조치 일환으로 일부 시스템에서 /etc/hosts 파일의 접근 권한을 변경하는 경우가 있습니다. 이로 인해 Tibero가 기동되지 않는 문제가 발생할 수 있습니다.
Tibero는 기동 시 localhost의 주소 정보를 /etc/hosts 파일을 통해 확인하게 되며, 이에 대한 정보가 없을 경우 기동이 실패할 수 있습니다. 기본적으로 world readable 상태입니다.
/etc/hosts, /etc/resolv.conf 상태점검 - default 644권한으로 되어있습니다.
[root@centro1 /]# cd /etc
[root@centro1 etc]# ls -la|grep hosts
-rw-r--r--. 1 root root 158 4월 24 04:04 hosts
[root@centro1 etc]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@centro1 etc]# cat /etc/resolv.conf
-Generated by NetworkManager
nameserver 168.126.63.1
nameserver 8.8.8.8
SQL
복사
/etc/nsswitch.conf 파일을 수정하여 고의적으로 localhost에 해당하는 IP를 찾지 못하게 설정한 경우입니다.
#hosts: files dns myhostname
hosts: files dns
이 /etc/nsswitch.conf 파일의 hosts 항목 설정은 리눅스나 유닉스 계열 시스템에서 호스트 이름 조회 순서를 정의하는 부분입니다.
각 항목의 의미는 다음과 같습니다.
files → /etc/hosts 파일을 먼저 참조
dns → DNS 서버를 통해 이름 해석
myhostname → 로컬 호스트 이름(/etc/hostname 같은 것)을 최종 fallback으로 사용
myhostname을 지워서 NSS모듈이 호스트네임을 갖고 매핑을 못 하도록 한다.
[root@centro1 etc]# chmod -x /etc/hosts
[root@centro1 etc]# ls -la|grep hosts
-rw-r--r--. 1 root root 158 4월 24 04:04 hosts
[root@centro1 etc]# chmod 400 hosts
[root@centro1 etc]# ls -la|grep hosts
-r--------. 1 root root 158 4월 24 04:04 hosts
[root@centro1 etc]# ping localhost
PING localhost(localhost (::1)) 56 data bytes
64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.109 ms
64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.076 ms
^C
--- localhost ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1032ms
rtt min/avg/max/mdev = 0.076/0.092/0.109/0.019 ms
[root@centro1 etc]# su - tibero
마지막 로그인: 금 5월 2 04:24:03 EDT 2025 일시 pts/0
[tibero@centro1 ~]$ ping localhost
ping: localhost: 이름 혹은 서비스를 알 수 없습니다
[tibero@centro1 ~]$ tbboot
Change core dump dir to /home/tibero/tibero7/bin/prof.
Listener port = 8629
ERROR: Cannot convert the address localhost.
Tibero instance startup failed!
SQL
복사
원인
Tibero는 기동 시 localhost에 해당하는 IP를 확인해야 하는데, 모든 해석 경로가 차단되어 해당 정보를 확인할 수 없게 되어 기동이 불가능해집니다.
해결
반드시 /etc/hosts 파일이 아니더라도, 다른 방법으로 localhost에 해당하는 IP를 확인할 수 있도록 설정하면 기동이 가능합니다. DNS lookup, NSS 모듈 등의 경로를 열어두면 됩니다.