.png)
내 시스템의 어떤 프로그램이 마지막 재부팅 이후 가장 자주 PID를 가져오는지, 그리고 얼마나 자주 받는지 확인하고 싶습니다. 지금 실행 하면 열과 열을 top
볼 수 있지만 현재 시스템 상태만 볼 수 있습니다. 일부 로그에서 채굴하거나 일부 로그를 활성화하고 싶기 때문에 새로운 내용이 있을 때마다 테이블 에 행을 추가하고 해당 테이블을 분석하고 싶습니다. 예를 들어:PID
COMMAND
PID
COMMAND
1 root 20 0 168424 10960 7820 S 0.0 0.1 0:02.78 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-events_highpri
9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
10 root 20 0 0 0 0 S 0.0 0.0 0:02.26 ksoftirqd/0
11 root 20 0 0 0 0 I 0.0 0.0 0:31.57 rcu_sched
PID
여러 개의 s가 종료된 것을 볼 수 있습니다 (예: 5, 7, 8). 일단 시작하면 다 녹음하고 싶어요. 이를 수행하는 명령이나 유틸리티가 있습니까?
답변1
auditd
이는 Linux 커널에 내장된 감사 기능을 사용하는 기본 솔루션입니다 .
auditctl -a always,task # the one below should also work; pick one
auditctl -a always,exit -F arch=b64 -S clone,fork,vfork,execve
systemctl restart auditd
# wait a while and use your computer
또는 audit
구성 파일을 작성하고 서비스를 활성화한 후 다시 시작하세요.
echo "-a always,task" > /etc/audit/rules.d/logpid.rules
echo "-a always,exit -F arch=b64 -S clone,fork,vfork,execve" > /etc/audit/rules.d/logpid.rules
systemctl enable auditd
systemctl start auditd
reboot
그런 다음 다시 시작한 후 일정 기간 동안 사용하고 감사 보고서를 확인하세요.
aureport --start today --interpret --executable --summary # sort by execs the number of audit events
aureport --start today --interpret --syscall --summary