파일을 읽었는지, 언제 읽었는지 확인할 수 있는 도구나 명령이 있습니까? 마지막으로 수정된 것만 찾아보겠습니다.
답변1
stat
, , , , , , 등과 같은 도구를 사용하여 마지막 으로 ls -lu
읽거나 액세스한 시간을 포함하는 마지막 액세스 시간을 찾는 데 사용할 수 있습니다 .cat
awk
sed
grep
vim
less
tail
head
읽는 것이 cat
표준 출력에서 전체 내용을 실제로 보는 것과 같이 텍스트 편집기를 사용하는 것과 같은 특정한 것을 의미하는 경우 감사 로그를 설정하고 확인하는 vim
것 외에는 이것이 수행되었는지 알 수 있는 방법이 없습니다 auditd
. 존재한다고 가정하고 지금까지 액세스한 모든 쉘의 기록을 검토합니다. 이는 분명히 불가능합니다. 유일한 확실성은 방문 시간입니다. 숫자와 방법에 관계없이 언제든지 파일을 읽는 것을 고려하고 있다면 내가 제공한 명령 중 하나를 사용하면 됩니다.
[nasir-rocky@rocky-linux ~]$ stat test
File: test
Size: 12 Blocks: 8 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 145 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/nasir-rocky) Gid: ( 1000/nasir-rocky)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2023-05-29 18:54:53.740411288 -0400
Modify: 2023-05-29 18:54:50.254416606 -0400
Change: 2023-05-29 18:54:50.254416606 -0400
Birth: 2023-02-09 17:38:42.636002933 -0500
이것은 ( 별명 ls -u
으로 사용했지만 동일한 작업을 수행합니다)ll -u
[nasir-rocky@rocky-linux ~]$ ll -u test
-rw-r--r--. 1 nasir-rocky nasir-rocky 12 Sep 19 07:33 test
ll
수정 시간만 표시 하는 또는 와 어떻게 다른지 확인하세요.ls -l
[nasir-rocky@rocky-linux ~]$ ll test
-rw-r--r--. 1 nasir-rocky nasir-rocky 12 May 29 18:54 test
답변2
대부분의 Linux 파일 시스템은 수정 시간 속성을 업데이트하고 저장할 뿐만 아니라 파일 액세스 시간도 기록합니다( atime
).
노트:atime 타임스탬프의 정확성 또는 사용 가능/업데이트 여부는 사용된 파일 시스템과설치 옵션등
noatime
)strictatime
relatime
atime 속성을 표시하는 방법에는 여러 가지가 있으며 그 중ls
배너 -u
그리고/또는--time=atime
아니면 예를 들어stat
주문하다.
stat .bashrc
File: ‘.bashrc’
Size: 231 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 262277 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ hbruijn) Gid: ( 1000/ hbruijn)
Context: system_u:object_r:user_home_t:s0
Access: 2023-09-01 12:59:34.648395490 +0200
Modify: 2016-12-07 00:19:33.000000000 +0100
Change: 2017-09-25 14:15:35.152000000 +0200
Birth: -
파일에 액세스한 사람을 찾으려면 auditd를 사용하여 감사를 미리 설정하고 파일에 대한 모든 액세스에 대한 포괄적인 기록을 얻어야 하는 경우가 많습니다.
답변3
찾는 방법만약에파일을 읽었으며 읽은 시간
심사
해당 특정 파일에 대한 감시 규칙을 설정합니다 /etc/audit/rules.d/audit.rules
.
-w /opt/something/somefile -p r -k ABC123
- 이는
-k
표시될 키 이름이므로/var/log/audit/audit.log
쉽게 텍스트 검색이 가능한 고유한 이름을 사용하세요.audit.log
-p
읽기 에 사용되는 권한 플래그 입니다r
. 여기서 사용 가능한 모든 옵션은rwxa
속성 읽기, 쓰기, 실행 및 변경에 사용 됩니다.
요청한 작업을 수행하는 감사 규칙을 구현하는 다른 방법이 있을 수 있지만 구체적으로 요청하는 내용(읽기에만 해당)에 따라 r
감사 규칙 유형에 대한 플래그를 모니터링하는 것이 가장 좋은 것 같습니다. 최선의 접근 방식.
해당 행 항목 내에서 audit.log
고유한 키 이름(예제에서는 ABC123)이 있으면모든파일을 읽거나 쓰거나 실행한 시간/속성_변경된 시간입니다. 또한 누구, 프로세스 ID, sh..info가 포함됩니다.
유일한 단점은 audit.log의 타임스탬프가 epoch 형식(1970년 1월 1일 이후의 초 수)이므로 이를 휴먼 형식으로 변환해야 한다는 것입니다.