2. 로그파일의 종류
자, 그럼 리눅스시스템에서 제공하는 로그파일의 종류에
대해서 알아보도록 하자.
앞서 잠깐 언급했듯이 리눅스의 로그파일은 기본적인
로그파일만 하더라도 10여개가 넘는다.
그리고 보안툴(예 tripwire, nmap)등을
설치하고 나면 이들에 관한 로그파일들에 새로 생기게 된다.
리눅스의 로그파일의 종류에 대해서 언급해 보면 다음과
같다.
로그이름
|
로그파일명
|
관련데몬
|
설명
|
커널로그
|
/dev/console
|
|
콘솔에 뿌려지는 로그
|
시스템로그
|
/var/log/messages
|
syslogd
|
리눅스커널로그 및 주된로그
|
보안로그
|
/var/log/secure
|
inetd
|
inetd에 의한 로그
|
메일로그
|
/var/log/maillog
|
sendmail
popper
|
메일로그(sendmail에 의한 로그)
|
크론로그
|
/var/log/cron
|
crond
|
crond에 의한 로그
|
부팅로그
|
/var/log/boot.log
|
|
시스템부팅시의 로그
|
FTP로그
|
/var/log/xferlog
|
ftpd
|
ftp로그
|
웹로그
|
/usr/local/apache/logs/access_log
|
httpd
|
아파치(웹서버)로그
|
네임서버로그
|
/var/log/named.log
|
named
|
네임서버(DNS)로그
|
기본적인 로그들은 syslogd에 의해서 제어가 되며,
syslogd의 설정파일인 /etc/syslog.conf 파일을 수정함으로써 이 파일들의 저장위치와
저장파일명을 변경할 수도 있다.
필자의 경우에는 보안을 위하여 숨김속성(.으로 시작하는
디렉토리)의 디렉토리를 다른곳에 만들어 역기 숨김속성파일(.으로 시작하는 파일)을 만들어서 잘 찾을
수 없는 곳에 보관을 하고 있다.
syslogd에 관한 설명은 바로 이 다음절에 있으므로
뒤에서 자세히 배워보기로 하고,
콘솔로그(/dev/console)
이 로그는 커널(kernel)에 관련된 내용을 시스템콘솔에
뿌려주는 로그이다.
물론, messages내용과 일치하지는 않지만
시스템에 관련된 중요한 내용들(예, 시스템풀, 다운등)에
대한 로그를 관리자에게 알리고자 함이 목적이기 때문에 출력을 파일로 저장하는 것이 아니라 장치명(/dev/console)을
사용하여 콘솔로 로그를 뿌려주게 된다.
시스템로그(/var/log/messages)
이 로그파일의 내용을 잠깐만 보면 다음과 같다.
이 로그에 기록되는 내용은 주로 접속시의 인증에 관한
것과 메일에 관한 내용, 그리고 시스템에 관한 변경사항등 시스템에 관한 전반적인 로그를 기록하는
파일이다.
시스템관리자에 의해서 가장 소중하게 다루어지는 로그이기도
하다.
이 파일에 기록되는 내용을 변경하고자 한다면 /etc/syslog.conf
파일의 내용에서 수정을 해주면 된다.
보안로그(/var/log/secure)
이 로그파일의 내용을 잠깐만 보면 다음과 같다.
이것은 inetd에 의한 로그파일이다.
inetd에 관한 것은 이미 강좌를 한 것이 있으므로
참조하기 바라며, 요즘 리눅스의 배포판에는 inetd보다도 xinetd로 업그레이드되어 배포되는
경우가 대부분이다.
하지만 xinetd를 사용하는 시스템에도 이 파일에
로그가 기록된다.
xinetd데몬의 확인 방법은 간단히 다음과 같이
할 수 있다.
-ef라는 옵션외에도 aux라는 옵션으로 다음과 같은
방법으로도 확인이 가능하다.
#ps aux | grep xinetd
또한 실행중인 xinetd의 PID저장 파일은 /var/run/xinetd.pid
이다.
메일로그(/var/log/maillog)
이 로그파일의 내용을 잠깐만 보면 다음과 같다.
이 로그파일의 이름에서 의미하는 바와같이 sendmail이나
pop등의 실행에 관한 기록이 남겨지게 된다.
메일을 주고받을 때에 이 로그파일에기록이 된다.
즉, smtp와 pop에 관한 로그라고 말할 수 있다.
이 로그파일과 관련된 sendmail 데몬의 확인
방법은 간단히 다음과 같이 할 수 있다.
또한 실행중인 sendmail의 PID저장 파일은
/var/run/sendmail.pid 이다.
크론로그(/var/log/cron)
이 로그파일의 내용을 잠깐만 보면 다음과 같다.
시스템의 크론이 작업한 기록을 보관하고 있는 파일이다.
이파일을 보면 크론데몬인 crond가 언제 어떤작업을
했는가를 확인할 수가 있다.
위의 예를 보면 알 수 있는 바와 같이 crond에
의해서 실행되었던 데몬(프로세스, 응용프로그램등)들이 기록되어 있음을 알 수 있다.
즉, crond에 의해서 생성되는 로그가 기록되는
파일이다.
이 로그파일과 관련된 crond데몬의 확인 방법은
간단히 다음과 같이 할 수 있다.
또한 실행중인 crond의 PID저장 파일은 /var/run/crond.pid
이다.
부팅로그(/var/log/boot.log)
이 로그파일의 예를 잠깐 살펴보자.
시스템의 데몬들이 실행되거나 재시작되었을 때 기록되는
로그파일로서 위의 예는 sendmail을 재시작했을 때 boot.log파일에 기록된 예를 보인 것이다.
FTP로그(/var/log/xferlog)
이 로그파일의 내용을 잠깐만 보면 다음과 같다.
ftp나 ncftp등의 접속이 이루어 졌을 때 이
로그파일에 기록이 된다.
예를 들어 ws_ftp나 cute_ftp등을
사용했을 때 이 로그파일에 기록되고, 업로드한 파일과 다운로드한 파일들에 대한 자세한 기록과 함께
남겨지게 된다.
웹로그(/usr/local/apache/logs/access_log)
웹로그파일의 내용을 잠깐만 보면 다음과 같다.
여러분들에게 가장 친근한 메일로그가 아닌가 싶다.
리눅스에서 웹서버로는 대부분 아파치를 사용하므로 아파치로그에
대한 예를 든 것이다.
대부분 아파치의 설치위치가 /usr/local/apache이므로
아파치 로그파일의 위치는 /usr/local/apache/logs/access_log가 된다.
만약, 웹호스팅등으로 여러개의 웹사이트를 운영한다면
각각의 웹사이트 로그파일의 위치는 /home/ID/www_log가 될 것이다.
물론, 이 위치는 필자가 권하는 위치이며, 다른곳에
저장을 해도 무방하다.
사용자 각각의 웹사이트의 위치를 지정하는 곳은 아파치
설정파일인 /usr/local/apache/conf/httpd.conf파일중 Host>라는 곳에서 하게된다.
가장히 예를 들어본다면 다음과 같다.
httpd.conf파일의 내용중 가상호스트 설정부분을
예를 든 것으로 이 사이트(abcc.or.kr)의 로그파일위치는 지정한 대로 /home/abcc/www_log/access_log가
된다.
다른 가상호스트의 사이트위치도 이와 같다고 할 수
있다.
아파치의 환경설정과 가상호스트설정등은 수퍼유저코리아의
"Apache"편을
참고바란다.
이 로그파일과 관련된 httpd데몬의 확인 방법은
간단히 다음과 같이 할 수 있다.
또한 실행중인 httpd의 PID저장 파일은 /usr/local/apache/logs/httpd.pid 이다.
이상으로 리눅스 시스템의 기본적인 로그파일에 대한
종류에 대한 개략적인 설명을 마치고 다음편에는 리눅스 시스템로그데몬인 syslogd에 대한 강좌로
이어갈 것이다.
|