Linux 시스템이 있고 세 명의 사용자가 있다고 가정합니다.
user1
, , user2
, user3
이 기기에 로그인할 수 있는 사람.
규칙을 만들었습니다.
$ auditctl -w /etc/file.txt -p rwxa
매일 누가, 언제 접속했는지 확인하고 싶다면, 대량의 기록 데이터에 접속하고 생성하는 file.txt
수많은 애플리케이션을 사용하면서 정보 과부하를 최소화하기 위해 어떻게 해야 할까요 ? 다른 사용자( , , 해당 애플리케이션, 원격 사용자 등) 의 file.txt
파일 액세스만 확인해야 합니다 .file.txt
user1
user2
user3
답변1
감사 이벤트를 필터링하고 보고하기 위한 사용자 공간 도구가 있습니다. 바라보다https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sec-Creating_Audit_Reports.html몇 가지 예를 들어보세요.
귀하의 경우 다음을 시도해 볼 수 있습니다.
ausearch --start today --success no --file /etc/file.txt | aureport --file
해당 날짜에 실패한 파일 액세스 시도를 모두 봅니다.
더 많은 옵션을 보려면 ausearch 및 aureport 매뉴얼 페이지를 확인하세요.
답변2
auditd가 설치되어 있다고 가정하면(이는 규칙을 생성하기 위해 auditctl을 사용한 것과 동일해 보입니다), uid로 grep을 수행할 수 있습니다.
uid를 찾으려면 다음 명령을 사용하십시오.
id user1
id user2
id user3
로그 기록을 확인하여 해당 사용자 ID를 선택하세요.
cat /var/log/audit/audit.log | grep uid=1000
1000이 보려는 파일 액세스 권한을 가진 사용자라고 가정합니다. 예를 들어, 사용자 1000이 감사된 file.txt를 본 시점을 표시합니다(이 경우 cat 사용).
유형 = Syscall MSG = 검토(1484859413.000: 83): Arch = C000003e Syscall = 2 성공 = 종료 = 3 A0 = 7FFD50EEFB A1 = 0 A2 = 20000 A3 = 7FFD50E9C8D0 프로젝트 = 1 ppid = 2 8517 PID = 28545 AUID = 10 00 UID = 1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=435 comm="cat" exe="/bin/cat" key=(null) type=PATH msg =감사(1484859413.000:83): 항목=0 이름="test.txt" inode=4847 dev=08:01 모드=0100644 ouid=1000 ogid=1000 rdev=00:00 nametype=NORMAL
이것이 당신이 찾고 있는 것이기를 바랍니다!