[로그 관리 및 분석] 기본로그파일의 종류와 이해

1. 리눅스 서버에서 발생되는 기본적인  로그 두가지

– 커널로그 : kernel messages 라고 하는 것으로 klogd 라는 데몬에 의해 생성

– syslogd 데몬에 의해 생성되는 로그

– 시스템관리에 있어서 주기적으로 확인 및 점검해야 할 사항들 중에 가장 중요한 것이 로그파일들이다. 시스템에 이상이 있거나 보안의 위험을 감지하기 위해서는 시스템에서 남겨지는 메시지를 확인해야 함. 모든 시스템에는 특정작업이 발생한 후에는 반드시 로그가 남겨지며, 관리자는 이를 정기적으로 점검을 해야 함.
시스템에 이상이 생겼을 때 혹은 서버보안에 문제가 있어 해킹을 당했을 때 이에 대한 1차적인 확인을 로그파일을 통해서 할 수 있음.

– 리눅스에서는 /var/log 디렉토리에서 시스템의 모든 로그를 기록 및 관리하고 있음.

– 시스템의 /etc/syslog.conf 파일에서 시스템 로그파일들의 위치를 지정함.

2. /var/log 의 디렉토리에 있는 로그파일과 로그디렉토리

– boot.log : 리눅스가 부팅이 될 때 출력되는 모든 메시지를 기록함. 부팅시의 에러나 조치사항을 살펴보려면 이 파일을 참조해야 함

– cron : 시스템의 정기적인 작업에 대한 로그, 즉 시스템 cron 작업에 대한 기록을 하고 있는 파일. /etc/디렉토리 에는 cron.hourly, cron.daily, cron.weekly, cron.monthly 디렉토리들이 있음. 이 디렉토리들은 각각 시간별, 일별, 주별, 월별로 정기적으로 운영체제에서 자동실행할 작업스크립트 파일들이 존재하고 있음. 이들 작업이 실행되고 난 이후에는 이 로그파일( /var/log/cron ) 에 실행내역을 기록함.

– messages : 리눅스 시스템의 가장 기본적인 시스템로그파일로서 시스템 운영에 대한 전반적인 메시지를 저장함. 주로 시스템 데몬들의 실행상황과 내역, 그리고 사용자의 접속정보등의 로그기록내역을 기록함.

– secure : 주로 사용자들의 원격로그인 정보를 기록하고 있는 로그파일로서 서버보안에 아주 민감하고 중요한 파일임. 특히 tcp_wrapper( xinetd ) 의 접속제어에 관한 로그파일로서 언제, 누가, 어디서, 어떻게 접속을 했는가에 대한 로그를 기록하고 있음. 시스템의 불법침입등이 있었다고 의심이 될 때에는 반드시 이 로그파일을 확인해야 함.

– xferlog : 리눅스시트메의 FTP 로그파일로서 proftpd 또는 vsftpd 데몬들의 서비스내역을 기록하는 파일. 즉, ftp 로 로그인 하는 사용자에 대한 로그를 기록과 어떤파일을 업로드/다운로드 하였는가에 대한 상세기록을 함. 따라서 어떤 특정한 파일이 시스템으로 FTP 서비스에 의해서 업로드되었을 때에나 또는 시스템외부로 다운로드 되었을때에 이 파일의 기록내역을 확인해 보면 날짜, 파일명, 디렉토리명등의 주요 정보를 확인 할 수 있음.

– /var/spool/mail : 사용자들에 대한 메일을 보관하고 있는 디렉토리로서 메일을 한번 이상 사용한 사용자는 사용자 계정 ID 와 동일한 파일이 하나씩 존재함. 사용자 계정생성시에 /var/spool/mail 디렉토리 내에 생성하는 계정명과 동일한 메일파일이 생성됨. 메일을 읽은 후에 사용자의 메일디렉토리로 저장하거나 메일을 삭제했을 경우네는 이 파일에서 메일내용이 삭제 됨.
이 디렉토리에 있는 파일을 보기위해 ” elm -f ID ” 로 하면 사용자의 메일을 확인할 수 있음. 일반 사용자들은 elm 을 이용하여 자기자신의 mail 내용만을 확인 할 수 있으며, root 권한으로는 모든 사용자의 메일내용 확인이 가능함.

3. 시스템을 모니터링 한다는 말의 의미는 여러 가지가 있을 수 있음. 하지만 거의 대부분 시스템 모니터링은 시스템에서 남겨지는 로그파일을 통해서 이루어짐. 즉, 시스템관리자로서 시스템을 모니터링하기 위해서는 로그파일을 반드시 확인하고분석해야 한다는 의미.

[리눅스 일반] 파일 압축 유틸리티 bzip2/bunzip2 실무

1. 리눅스 압축유틸리티 bzip2, 압축해제 유틸리티 bunzip2

– compress 로 압축된 파일은 uncompress 로 풀어야하며, gzip 으로 압축된 파일은 반드시 gunzip 으로 풀어야 하는 것처럼, bzip2 로 압축된 압축파일은 반드시 bunzip2 로 풀어야 함.

– bzip2  는 복구용 유틸리티인 bzip2recover 라는 것이 있어 손상된 bzip2 압축파일을 복구할 수도 있음.

– 사용형식 : bzip2 [ -cdfkqstvzVL123456789 ] [ 파일명 … ]
bunzip2 [ -fkvxVL ] [ 파일명 … ]

2. bzip2 로 특정 파일압축하기와 bunzip2 로 압축파일 풀기

– bzip2 TestFile

– bunzip2 TestFile.bz2

3. bzip2 와 bunzip2 로 두개 이상의 파일의 압축과 압축해제

– bzip2 *

– bunzip2 *

4. bzip2 로 압축된 파일을 bzip2 로 해제하기

– -d 옵션을 사용하면 bzip2 명령어로도 압축해제를 할 수 있음.

– bzip2 -d TestFile.bz2

5. bzip2 로 압축한 파일과 동인한 파일 존재하더라도 덮어쓰기

– -f 옵션을 하용사면 압축후에 동일한 파일이 존재하더라도 덮어쓰게 할 수 있음.

– bzip2 -f TestFile

[리눅스 일반] 파일 압축 유틸리티 gzip/gunzip 실무

1. 리눅스 표준 압축명령어 gzip 과 압축해제 명령어 gunzip 개론과 활용

– tar 는 엄격하게 이야기해서 압축명령어가 아니라 파일을 묶어주는 명령어임

– 리눅스의 가장 표준적인 범용 압충( 해제 ) 명령어는 gzip( gunzip ) 임.

– 압축은 Lempel-Ziv 라는 인코딩방법을 사용하며 텍스트파일 기준으로 60% 에서 70% 정도의 압축효율을 가짐.

– gunzip 으로 압축해제를 하면 gzip ㅇ로 압축하기 전의 원본파일의 소유주와 소유그룹, 파일액세스 시간, 파일변경시간, 퍼미션은 그대로 유지한채로 압축해제가 됨.

– gzip -d 는 gunzip 과 동일하며, gzip 에서 -d 옵션을 사용하는 것으로 압축해제를 하는 옵션임.

– 사용형식 : gzip [ -acdfhlLnNrtvV19 ] [ -S 확장자 ] [ 파일 … ]
gunzip [ -acfhlLnNrtvV ] [ -S s 확장자 ] [ 파일 … ]

2. gunzip 으로 .gz 압축파일 해제하기

– gunzip TestFile.gz

– gzip -d TestFile.gz 도 동일함.

3. gzip 으로 두개이상의 파일을 동시에 압축하기.

– gzip *

– 현재 디렉토리내에 있는 모든 파일을 압축.

4. 두개이상의 압축된 파일을 동시에 압축해제하기

– gunzip *

– 현재 디렉토리내의 모든 파일을 압축해제.

5. gzip 으로 현재 사용중인 파일까지도 강제압축하기

– gzip 으로 압축을 할때, 현재 사용중인 파일은 압축이 되지 않음.

– -f 옵션을 사용하면 사용중인 파일이라도 강제 압축을 할 수 있음.

– gzip -f TestFile

6. gzip 으로 압축한 후에 파일의 압축효율 확인하기

– gzip 으로 압축을 할 때, -l 옵션을 사용하면 압축한 후에 압축효율을 수치로 나타내 줌.

– gzip -l TestFile

7. gzip 으로 압축된 파일의 확장자를 임의대로 붙이기

– gzip 으로 압축을 하면 압축파일의 기본확장자로서 .gz 를 사용함.

– -S 옵션을 사용하면 gzip 으로 압축된 파일이라도 .gz 확장자 대신에 다른 이름을 임의대로 지정하여 붙일 수 있음.

– gzip -S .zip TestFile

– -S 옵션으로 압축된 파일은 gunzip 으로 압축해제를 할 때에도 동일하게 -S 옵션을 사용해야만 압축해제가 됨.

– gunzip -S .zip TestFile.zip

8. 특정 디렉토리내의 모든 파일을 gzip 으로 압축하기

– 특정디렉토리를 대상으로 압축하고자 한다면 -r 옵션을 붙여서 사용하면 됨.

– gzip -r TestDir

– 특정디렉토리를 대상으로 압축해제를 하고자 한다면 압축을 할 때 주었던 -r 옵션을 풀때에도 주어야 함

– gunzip -r TestDir

[리눅스 일반] 파일 압축 유틸리티 tar 실무

1. 여러 개의 파일을 하나로 묶고 압출할 수 있는 tar 실무개혼

– 가장 기본적인 tar 사용법
파일묶기 : tar cvf 파일명.tar 파일(디렉토리)
묶은파일보기 : tar tvf 파일명.tar
묶은파일풀기 : tar xvf 파일명.tar

– gzip( gunzip ) 과 함께 사용하는 tar 사용법 #1
묶고압축하기 : tar cvfz 파일명.tar.gz 파일( 디렉토리 )
묶고압축된 파일 보기 : tar tvfz 파일명.tar.gz
묶고압축된파일 풀기 : tar xvfz 파일명.tar.gz

– gzip( gunzip )과함께사용하는 tar사용법 #2
퍼미션유지묶고압축하기 : tar cvfpz 파일명.tar.gz
퍼미션유지묶고압축된 파일 보기 : tar tvfpz 파일명.tar.gz
퍼미션유지묶고압축된 파일 풀기 : tar xvfpz 파일명. tar.gz

– bzip( bunzip2 ) 과 함께 사용하는 tar 사용법
퍼미션유지묶고압축하기 : tar cvfpj 파일명. tar.gz 파일( 디렉토리 )
퍼미션유지묶고압축된 파일 보기 : tar tvfpj 파일명.tar.gz
퍼미션유지묶고압축된 파일 풀기 : tar xvfpj 파일명.gz

– tar 의 주요옵션설명
-c : tar 파일을 생성할 때( 여러개의 파일을 하나씩 반드시 사용
-d : tar 파일과 해당 파이리스템간의 차이점을 확인하고자 할 때 사용
-r : tar 파일에 다른파일들을 추가하고자 할 경우에 사용
-t : tar 파일의 내용을 확인하고자 할 때 반드시 사용
-f : tar 파일을 사용하고자 할 때에는 반드시 사용
-p : tar 파일을 생성할( 풀 ) 때 원본 파일퍼미션을 그대로 유지함
-v : 묶을때나 풀 때 그 과정을 자세하게 보려고 할 때 사용
-Z : compress 로 압축파일을 사용할 때 압축이나 해제까지 한번에 할 때 사용
-z : gzip( gunzip ) 과 관련하여 압축이나 해제를 한꺼번에 하려고 할 때 사용
-j : bzip2( bunzip2 ) 과 관련하여 압축하거나 해제하는 옵션으로 사용

2. tar 로 묶는 가장 기본적인 사용법

– tar cvf TestDir1.tar TestDir

3. tar 로 묶여진 파일내의 파일리스트 확인하기

– tar tvf TestDir1.tar

4. tar 로 묶여진 파일 풀기

– tar xvf TestDir.tar

– tar 로 묶여질때에는 묶여지는 파일들의 생성날짜와 시간정보까지 함께 저장이 되어지며, tar로 풀 때에는 이 시간정보를 그대로 적용하여 풀어 짐.

5. tar 로 파일묶기와 압축하기를 동시에 하기

– tar cvfz TestDir2.tar.gz TestDir2

– 묶음과 압축이 한번에 된 파일의 내용을 확인하는 명령어
tar tvfz TestDir2.tar.gz

6. tar 로 묶고압축된 파일 풀기

– tar xvfz TestDir2.tar.gz

7. tar 로 원본파일의 퍼미션을 그대로 유지한채로 묶고압축하기

– tar cvfpz TestDir2.tar.gz TestDir2

8. tar 로 원본파일 퍼미션을 유지한 채로 묶고압축한 파일 풀기

– tar xvfpz TestDir2.tar.gz

9. tar 로 압축시에 용량단위로 나누어 압축하기 그리고 풀기

– tar cvfpz – /home/Test | split -b 100m – home.tar.gz

10. tar 와 bzip2 로 압축하고 tar 와 bunzip2 로 압축풀기

– tar cvfpj TestDir3.tar.bz2 /TestDir3

– tar xvfpj TestDir3.tar.bz2

[리눅스 일반] 파일 압축 유틸리티 compress/uncompress 실무

1. 가장 오래되고 전통적인 압축유틸리티 compress 활용법

– 아직까지 프로그램배포등을 위해 compress 로 압축해서 배포하는 경우가 많으므로 꼭 알아두어야 함.

– 사용형식 : 압축할때 : compress [ -f ] [ -v ] [ -c ] [ -V ] [ -r ] [ -b bits ] [ name… ]

– 간단한 사용법
사용방법1 : compress FileName
사용방법2 : compress *
사용방법3 : compress index.*
사용방법4 : compress *.bak

– 압축된 후에는 각각의 파일끝에 *.Z 라는 확장자가 추가됨.

2. compress 로 특정 파일 압축하기

– compress TestFile

3. 현재 디렉토리에 존재하는 모든 파일들을 compress 로 압축하기

– compress *

4. compress 로 압축된 압축파일을 해제하는 uncompress

– umcompress 로 압축을 해제할 때에는 compress 로 압축되어있는 *.Z 파일을 대상으로 해야함.

– 간단한 사용법
사용법1 : uncompress 파일명
사용법2 : uncompress *
사용법3 : uncompress *.Z
사용법4 : uncompress index.*

5. uncompress 로 동시에 여러개의 압축파일 해제하기

– uncompress *