터미널에 입력된 명령이 어떤 파일에 영향을 미치는지 알 수 있는 방법이 있습니까? 예를 들어, 우리 모두는 passwd
명령이 수행하는 작업과 해당 명령이 어떤 파일에 영향을 미치는지 알고 있습니다. 그러나 명령의 영향을 받는 정확한 파일 이름을 알 수 있는 명확한 방법이 있습니까?
해당 사용자에게 일부 정책을 적용하는 파일에 사용자를 추가하는 명령이 있습니다. 하지만 어떤 파일에 추가되었는지는 확실하지 않습니다.
답변1
기본적으로 다음을 수행하여 이 작업을 수행할 수 있습니다 . 하위 프로세스를 추적하는 옵션 strace -e open <cmd>
도 있습니다 . 이 방법은 사용자 친화적이지 않으며(기본적으로 일부 C, 시스템 호출 등을 알아야 함) 장기적으로 작동하지 않습니다. . 작동할 수 있는 다른 유사한 도구가 있습니다 (아직 이 목적으로 사용하지 않았습니다). 파일 기반 IDS(예: AIDE)를 실행 하고 특정 파일이 변경된 시기를 감지하도록 할 수 있습니다.-f
strace
sysdig
auditd
귀하의 질문에서는 프로그램이 액세스하는 파일(예: 감사)을 확인하는 방법을 묻는 것인지, 아니면 액세스 중인 특정 파일(IDS)을 기반으로 경고를 발생시키려는 것인지 알 수 없습니다. 프로그램이 어떤 파일에 액세스하는지 알아내려면 가장 좋은 방법은 이와 같은 strace
저수준 도구의 소스 코드를 읽는 것입니다.