Linux에서 파일을 읽었는지 여부와 언제 읽었는지 확인하는 방법

Linux에서 파일을 읽었는지 여부와 언제 읽었는지 확인하는 방법

파일을 읽었는지, 언제 읽었는지 확인할 수 있는 도구나 명령이 있습니까? 마지막으로 수정된 것만 찾아보겠습니다.

답변1

stat, , , , , , 등과 같은 도구를 사용하여 마지막 으로 ls -lu읽거나 액세스한 시간을 포함하는 마지막 액세스 시간을 찾는 데 사용할 수 있습니다 .catawksedgrepvimlesstailhead

읽는 것이 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)strictatimerelatime

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일 이후의 초 수)이므로 이를 휴먼 형식으로 변환해야 한다는 것입니다.

관련 정보