Sunday, April 15, 2018

CentOS 7.3 리눅스 네트워크 ] 4.1 시스템 로그 - 로그 파일


안녕하세요. 썬구루입니다. 이 게시물에서는 CentOS 7.3 시스템 로그에 대해 알아보도록 하겠습니다.

리눅스는 운영 시 발생하는 이벤트들에 대한 정보를 기록하는데 이것을 시스템 로그(System Log)라 합니다. 접속한 사용자 정보, 접속 이력 정보, su 명령을 사용한 정보, 부팅 시 출력되는 로그정보, 커널(Kernel) 또는 프로세스에 의해 만들어지는  메시지 정보 등 수많은 정보들이 시스템 운영 시 만들어지는데 이러한 정보를 기록한 파일을 로그 파일이라 합니다.

여기서 리눅스 주요 로그파일에 대해 알아보도록 하겠습니다.

■ /var/run/utmp

현재 접속한 사용자 정보를 가지고 있는 데이터 파일이다.

[root@centos701 ssh]# file /var/run/utmp

/var/run/utmp: data

[root@centos701 ssh]#

who 또는 w 같은 명령에 의해 참조된다.

[root@centos701 ssh]# who

root     :0           2017-01-26 13:23 (:0)
root     pts/0        2017-01-26 13:23 (:0)
guru     pts/1        2017-01-31 13:25 (192.168.80.1)

[root@centos701 ssh]# 

■ /var/log/wtmp

사용자들이 접속한 이력 정보를 가지고 있는 파일이다.

[root@centos701 ssh]# file /var/log/wtmp

/var/log/wtmp: data

[root@centos701 ssh]#  

last 명령을 통해 사용자 접속 이력을 확인할 수 있다.

[root@centos701 ssh]# last | head -5

root     pts/2        :0               Tue Jan 31 16:15 - 16:20  (00:05)
guru     pts/2        localhost        Tue Jan 31 14:08 - 15:14  (01:05)
guru     pts/1        192.168.80.1     Tue Jan 31 13:25   still logged in
root     pts/0        :0               Thu Jan 26 13:23   still logged in
root     :0           :0               Thu Jan 26 13:23   still logged in

[root@centos701 ssh]#
[root@centos701 ssh]# last guru | head -5

guru     pts/2        localhost        Tue Jan 31 14:08 - 15:14  (01:05)
guru     pts/1        192.168.80.1     Tue Jan 31 13:25   still logged in
guru     pts/0        :0               Mon Jan 16 01:30 - 05:27  (03:56)
guru     :0           :0               Mon Jan 16 01:16 - 05:27  (04:10)
guru     pts/1        :0               Mon Jan 16 00:33 - 01:04  (00:30)

[root@centos701 ssh]# 

■ /var/log/sulog

su 명령을 사용한 사용자 전환에 관련된 로그파일이다. (기본적으로 없는 파일. 생성 및 설정을 해야 함)

[root@centos701 ssh]# vi /etc/login.defs

# su command log file
SULOG_file=/var/log/sulog       <== 내용추가

[root@centos701 ssh]#
[root@centos701 ssh]# vi /etc/rsyslog.conf

# su command log               
authpriv.info   /var/log/sulog    <= 내용추가

[root@centos701 ssh]# touch /var/log/sulog
[root@centos701 ssh]#
[root@centos701 ssh]# systemctl restart rsyslog.service
[root@centos701 ssh]#
[root@centos701 ssh]# more /var/log/sulog
[root@centos701 ssh]#
[root@centos701 ssh]# su - guru

마지막 로그인: 화  1월 31 14:08:59 KST 2017 localhost에서 시작 일시 pts/2

[guru@centos701 ~]$
[guru@centos701 ~]$ exit

logout

[root@centos701 ssh]#
[root@centos701 ssh]# more /var/log/sulog

2017-01-31T16:39:26.896191+09:00 centos701 su: pam_unix(su-l:session): session opened for user guru by root(uid=0)
2017-01-31T16:39:30.853771+09:00 centos701 su: pam_unix(su-l:session): session closed for user guru

[root@centos701 ssh]# 

■ /var/log/secure

SSH, FTP, su 명령 등 사용자 인증 관련 기록을 가지고 있는 로그 파일이다.

[root@centos701 ssh]# grep -i ssh /var/log/secure

Jan 31 13:02:40 centos701 sshd[5307]: Connection closed by 192.168.80.1 [preauth]
Jan 31 13:25:07 centos701 sshd[5511]: Accepted password for guru from 192.168.80.1 port 49710 ssh2
Jan 31 13:25:08 centos701 sshd[5511]: pam_unix(sshd:session): session opened for user guru by (uid=0)
Jan 31 13:48:48 centos701 sshd[1120]: Received signal 15; terminating.
Jan 31 13:49:03 centos701 sshd[5913]: Server listening on 0.0.0.0 port 22.
Jan 31 13:49:03 centos701 sshd[5913]: Server listening on :: port 22.
Jan 31 14:08:59 centos701 sshd[6170]: Accepted password for guru from ::1 port 52850 ssh2
Jan 31 14:08:59 centos701 sshd[6170]: pam_unix(sshd:session): session opened for user guru by (uid=0)
Jan 31 15:14:20 centos701 sshd[6180]: Received disconnect from ::1: 11: disconnected by user
Jan 31 15:14:20 centos701 sshd[6170]: pam_unix(sshd:session): session closed for user guru

[root@centos701 ssh]#  

■ /var/log/cron

사용자들의 cron 사용 기록 정보를 가지고 있는 로그 파일이다.

[root@centos701 ssh]# head -5 /var/log/cron

Jan 29 03:43:01 centos701 run-parts(/etc/cron.daily)[38439]: finished man-db.cron
Jan 29 03:43:01 centos701 run-parts(/etc/cron.daily)[38416]: starting mlocate
Jan 29 03:43:01 centos701 run-parts(/etc/cron.daily)[38450]: finished mlocate
Jan 29 03:43:01 centos701 anacron[38037]: Job `cron.daily' terminated
Jan 29 03:43:01 centos701 anacron[38037]: Normal exit (1 job run)

[root@centos701 ssh]#

■ /var/log/dmesg

부팅 시 시스템에 의해 출력되는 로그 정보를 가지고 있는 파일이다. dmesg 명령을 통해서도 내용을 확인할 수 있다.

[root@centos701 ssh]# head -5 /var/log/dmesg

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 rhgb quiet

[root@centos701 ssh]# 

■ /var/log/lastlog

사용자들이 마지막으로 로그인한 접속 정보를 가지고 있는 로그파일이다. lastlog 명령을 통해 내용을 확인할 수도 있다.

[root@centos701 ssh]# file /var/log/lastlog

/var/log/lastlog: data

[root@centos701 ssh]#
[root@centos701 ssh]# lastlog -u guru

사용자이름       포트     어디서           최근정보
guru             pts/0                     화  1월 31 16:39:26 +0900 2017

[root@centos701 ssh]#

여기까지 CentOS 주요 로그 파일에 대해 알아보았습니다. 다음 게시물에서는 운영체제 시스템 활동 및 이벤트 추적을 위해 사용되는 rsyslog에 대해 알아보도록 하겠습니다.






No comments:

Post a Comment