2014-07-24 3 views
0

내 OS는 리눅스입니다.파일에 액세스 한 프로세스를 아는 방법은 무엇입니까?

/etc/AAA와 같은 전체 경로 인/etc,
에 파일이 있습니다.

모든 도구 또는 명령은 해당 기간 동안 어떤 프로세스에서 파일에 액세스했는지 알 수 있습니다. 예를 나는/외 액세스 모든 프로세스 ID를 알 필요 오전 1시 10분, 공정 기입을/etc/AAA 3:50 AM, 프로세스 B의 읽기/등/AAA

에 대한 /AAA

감사.

답변

1

: 여기

레드햇의 사이트에 대한 몇 가지 documentation하지만 다른 리눅스에 적용 할 수 있어야 변종. 대부분의 배포판에는 감사 시스템이 있지만 선택적 설치가 될 수 있습니다.

ausearch -k mywatch 
:

auditctl -w /etc/AAA -p r -k mywatch 

그런 다음 당신이 comamnd과 결과를 볼 수 있습니다

감사 서브 시스템이 이미 실행중인 가정하면,이 같은 귀하의 예제 파일에 읽기 액세스 권한을 시청하는 규칙을 추가 할 수 있습니다

또는 audit.log 파일 (일부 시스템에서는/var/log/audit에 있음)을 확인하십시오.

+0

많은 덕분에, 또한 우분투에서 작동합니다. – Tony

-1

stat는 그 중 일부 정보를 제공합니다.

$ stat test.txt 
    File: `test.txt' 
    Size: 166    Blocks: 1   IO Block: 65536 regular file 
Device: 6a81ccb1h/1786891441d Inode: 6755399442667785 Links: 1 
Access: (0644/-rw-r--r--) Uid: (1000/ PC_01) Gid: ( 513/ None) 
Access: 2014-07-16 16:03:18.208462800 +0200 
Modify: 2014-07-16 16:03:18.209462900 +0200 
Change: 2014-07-16 16:03:18.209462900 +0200 
Birth: 2014-07-16 16:03:18.208462800 +0200 
+0

-1'stat'은 어떤 프로세스가 파일을 터치했는지 보여주지 않습니다. –

+1

도 참조하십시오 http://stackoverflow.com/questions/11230905/how-to-get-linux-file-modification-history-including-whogroup – Kokkie

2

할 수있는 도구가 없습니다. 현재 파일이 열려있는 프로세스를 보려면 fuserlsof을 사용할 수 있습니다.

변경 내역을 보려면 파일 시스템에서 변경 사항을 감시하는 프로세스를 실행해야합니다. inotify service을 사용하여이를 빌드 할 수 있습니다.

관련 : 리눅스 감사 시스템이 당신을 도울 수 있으며, 자세한 정보 제공