상세 컨텐츠

본문 제목

[CentOS 8] psacct 로 사용자 활동 모니터링하는 방법

Linux

by mp.jamong 2021. 1. 28. 09:15

본문

 

psacct 패키지는 사용자 활동을 모니터링하는 유용한 도구를 포함하고 있습니다. 이번 포스팅에는 해당 패키지를 설치하고 사용하는 방법에 대해 알아보겠습니다.

 

 

psacct 패키지 소개

 

▷ psacct 패키지는 ac, lastcomm, accton 및 sa를 포함한 사용자 활동에 대한 모니터링을 위한 유용한 유틸리티가 포함되어 있습니다. 

 

▷ ac : 사용자가 로그온한 시간에 대한 통계를 표시합니다.

 

 lastcomm : 이전에 실행된 명령에 대한 정보를 표시합니다.

 

sa : 이전에 실행된 명령에 대한 정보를 요약해줍니다.

 

▷ accton : 프로세스 계정을 켜거나 끕니다. 

 

 

psacct 설치 방법

 

▷ psacct 패키지는 아래와 같이 설치 후 실행을 합니다.

 


# psacct 패키지 설치
[root@localhost ~]# dnf -y install psacct

# psacct 실행
[root@localhost ~]# systemctl enable --now psacct

 

 

psacct 를 이용한 사용자 활동 모니터링 방법

 

ac 명령어를 이용하여 아래와 같이 사용자의 로그인 시간에 대한 정보를 확인 합니다.

 


# 일자별 총 로그인 시간
[root@localhost ~]# ac -d

Jan  2  total        2.58
Jan  3  total        1.45
Jan  6  total        1.35
Jan 10  total        3.66
Jan 14  total        4.66
Jan 15  total        0.39
Jan 16  total        1.80
Jan 17  total        2.53
Jan 24  total        0.37
Today   total        0.16


# 사용자별 로그인 시간 확인
[root@localhost ~]# ac -p

        root                                27.92
        mpjamong                             1.06
        total       28.99


# 일자별, 사용자 로그인 시간 확인
[root@localhost ~]# ac -d -p

Jan 10  total        3.66
        root                                 4.66
Jan 14  total        4.66
        root                                 0.39
Jan 15  total        0.39
        root                                 1.80
Jan 16  total        1.80
        root                                 1.47
        mpjamong                             1.06
Jan 17  total        2.53
        root                                 0.37
Jan 24  total        0.37
        root                                 0.20
Today   total        0.20


# 에러 로그 보기
[root@localhost ~]# ac -d --complain

/var/log/wtmp:1: problem: time warp (Thu Jan  1 09:00:00 1970 -> Tue Oct 20 15:24:16 2020)
Jan  2  total        2.58
/var/log/wtmp:148: problem: missing login record for `tty1'
/var/log/wtmp:156: problem: missing login record for `tty1'
Jan  3  total        1.45
/var/log/wtmp:164: problem: missing login record for `tty1'
Jan  6  total        1.35
/var/log/wtmp:172: problem: missing login record for `tty1'
Jan 10  total        3.66
/var/log/wtmp:179: problem: missing login record for `tty1'
Jan 14  total        4.66
/var/log/wtmp:195: problem: missing login record for `tty1'
Jan 15  total        0.39
/var/log/wtmp:203: problem: missing login record for `tty1'
Jan 16  total        1.80
Jan 17  total        2.53
/var/log/wtmp:225: problem: missing login record for `tty1'
Jan 24  total        0.37
Today   total        0.27

 

▷ lastcomm 명령어를 이용하여 아래와 같이 이전에 실행된 명령어에 대한 정보를 확인 합니다.

 


# 명령어 히스토리 확인
[root@localhost ~]# lastcomm

systemd-cgroups  S     root     __         0.00 secs Tue Jan 26 23:43
systemctl        S     root     pts/0      0.00 secs Tue Jan 26 23:43
systemd-tty-ask  S     root     pts/0      0.00 secs Tue Jan 26 23:43
accton           S     root     __         0.00 secs Tue Jan 26 23:43



# 특정 사용자 명령어 히스토리 확인
[root@localhost ~]# lastcomm --user mpjamong

bash             S     mpjamong pts/0      0.01 secs Tue Jan 26 23:45
tail                   mpjamong pts/0      0.00 secs Tue Jan 26 23:46
cat                    mpjamong pts/0      0.00 secs Tue Jan 26 23:46
adduser                mpjamong pts/0      0.00 secs Tue Jan 26 23:46
bash              F    mpjamong pts/0      0.00 secs Tue Jan 26 23:45
sed                    mpjamong pts/0      0.00 secs Tue Jan 26 23:45
grepconf.sh            mpjamong pts/0      0.00 secs Tue Jan 26 23:45
grep                   mpjamong pts/0      0.00 secs Tue Jan 26 23:45
grepconf.sh            mpjamong pts/0      0.00 secs Tue Jan 26 23:45
grep                   mpjamong pts/0      0.00 secs Tue Jan 26 23:45


# 특정 명령어 사용 확인
[root@localhost ~]# lastcomm --command su

su               S     root     pts/0      0.00 secs Tue Jan 26 23:45

 

 lastcomm 명령어의 출력된 결과화면 중 2번째 컬럼의 S, F, X의 의미는 아래와 같습니다.

 →  S : 슈퍼유저

 →  F : Fork에 의한 실행

 →  X : SIGTERM 시그널에 의해 종료

 

▷ sa 명령어를 이용하여 아래와 같이 이전에 실행된 명령어에 대한 통계를 확인 합니다.

 → re : real minutes

 → cpu : cpu minutes

 → k : cpu-time averaged core usage

 


# 사용한 명령어 통계 보기
[root@localhost ~]# sa

   68805    1394.11re       0.56cp         0avio     32634k
      59       0.46re       0.34cp         0avio    140859k   dnf
      44     677.47re       0.12cp         0avio     39463k   ***other*
       6       1.16re       0.07cp         0avio     56123k   lynis
      14     244.20re       0.01cp         0avio         0k   kworker/dying*
       3       0.03re       0.01cp         0avio      1306k   gzip
       5       1.16re       0.00cp         0avio      3854k   sa
      76       0.02re       0.00cp         0avio      5214k   modprobe
        .
        .
        .
        .
        .
       2       0.00re       0.00cp         0avio      4242k   chronyc
       2       0.00re       0.00cp         0avio      3362k   pwck*
       2       0.00re       0.00cp         0avio      3358k   chcon
       2       0.00re       0.00cp         0avio      3252k   auditctl
       2       0.00re       0.00cp         0avio      1617k   getent
       2       0.00re       0.00cp         0avio      1614k   dnsdomainname
       2       0.00re       0.00cp         0avio         0k   audit_send_list*


# 사용자별 명령어 사용 현황 보기
[root@localhost ~]# sa -u

root       0.00 cpu     1083k mem      0 io accton
root       0.00 cpu    20864k mem      0 io systemd-tty-ask
root       0.00 cpu    74240k mem      0 io systemctl
root       0.00 cpu    20864k mem      0 io systemd-cgroups
root       0.00 cpu     5192k mem      0 io lastcomm
root       0.00 cpu     5192k mem      0 io lastcomm
root       0.00 cpu    64736k mem      0 io adduser
mpjamong   0.00 cpu    58608k mem      0 io id
mpjamong   0.00 cpu    58192k mem      0 io bash            *
mpjamong   0.00 cpu    59104k mem      0 io id
mpjamong   0.00 cpu    58192k mem      0 io bash            *
.
.
.
.
root       0.00 cpu    20864k mem      0 io systemd-cgroups
root       0.12 cpu     5096k mem      0 io sa
root       0.00 cpu     5096k mem      0 io sa
root       0.00 cpu    54832k mem      0 io more
root       0.00 cpu     1991k mem      0 io sa
root       0.00 cpu    54832k mem      0 io more
root       0.00 cpu     5096k mem      0 io sa


# 사용자별 사용 시간 통계
[root@localhost ~]# sa -m
                                    
root                                68779     984.37re       0.50cp         0avio     32615k
rngd                                    1      68.30re       0.06cp         0avio     40592k
mpjamong                               22       0.72re       0.00cp         0avio     54660k
apache                                  3     204.75re       0.00cp         0avio    300075k
libstoragemgmt                          1      68.31re       0.00cp         0avio      4718k
chrony                                  1      68.30re       0.00cp         0avio     32016k
sshd                                    1       0.02re       0.00cp         0avio     23248k
named                                   1       0.01re       0.00cp         0avio     25776k

 

 

 

▽ 같이 보면 더 좋은 블로그 글 

 

[CentOS 8] Auditd 설정과 사용법

Auditd는 리눅스 시스템의 보안 관련 정보를 감사할 수 있는 정보를 수집합니다. 수집하는 정보는 시스템 호출, 보안 이벤트, 파일 접근, 명령어 실행 등으로 해당 로그를 확인함으로써 보안 위협

mpjamong.tistory.com

 

[CentOS 8] ausearch, aureport로 Auditd 로그 확인방법

이전 포스팅에서 Auditd 설정과 사용법에 대해 소개드렸는데요. 이번 포스팅에서는 ausearch, aureport를 이용하여 audit 로그를 쉽게 보는 방법에 대해 알아보고자 합니다. ausearch로 audit 로그 검색 ▷ au

mpjamong.tistory.com

 

관련글 더보기

댓글 영역