생성/수정된 파일을 표시하는 Linux 샌드박스

생성/수정된 파일을 표시하는 Linux 샌드박스

저는 젠투 리눅스를 사용합니다. 루트 다운로드에서 실행되는 프로그램이 무엇인지, 다운로드한 파일을 어디에 저장할지 알아내야 합니다. 또한 신뢰할 수 없는 소스의 프로그램을 테스트할 수 있는 샌드박스가 필요했습니다.

특히 hplip 드라이버를 설치하면 네트워크를 통해 플러그인이 다운로드됩니다. 어떤 파일을 다운로드했는지, 환경에 어떤 변화가 생겼는지 알고 싶습니다.

Linux에 적합한 샌드박스 프로그램 추천해주세요

  1. 이를 통해 가상 환경에서 프로그램을 실행할 수 있습니다.
  2. 현재 시스템 구성을 사용합니다. 즉, 샌드박스에서 실행되는 프로그램은 샌드박스 외부에서 실행되는 프로그램과 동일합니다.
  3. 어떤 파일이 추가되거나 변경되었는지 표시됩니다.
  4. 필요한 경우 변경 사항을 승인하거나 거부할 수 있습니다. svn에서 커밋하는 것과 같습니다.
  5. VirtualBox, Vmware와 달리 2~4항을 만족하지 못하기 때문에

Firejail을 사용해 보았지만 포인트 3과 4가 포함되어 있지 않습니다. 또한 샌드박스를 사용해 보았으나 포인트 3과 4를 달성하지 못했습니다. strace는 생성 및 수정된 모든 파일을 추적하는 데 도움이 될 수 있지만 안타깝게도 변경 사항을 롤백할 수는 없습니다.

일반적으로 mbox 프로그램이 가장 잘 충족할 수 있는 요구 사항은 다음과 같습니다.https://pdos.csail.mit.edu/archive/mbox/. 하지만 불행하게도 젠투 저장소에는 없습니다. 적어도 나는 그것을 찾지 못했습니다.

답변1

  1. 이를 통해 가상 환경에서 프로그램을 실행할 수 있습니다.
  2. 현재 시스템 구성을 사용합니다. 즉, 샌드박스에서 실행되는 프로그램은 샌드박스 외부에서 실행되는 프로그램과 동일합니다.
  3. 어떤 파일이 추가되거나 변경되었는지 표시됩니다.

설명하는 내용은 읽기 전용 rootfs와 나중에 확인할 수 있는 overlayfs를 사용하여 달성할 수 있습니다. 또는 더 간단하게는 rootfs를 btrfs 또는 ZFS에 배치하거나 파일 시스템을 씬 LVM 풀에 배치하고 의심되는 소프트웨어를 설치하기 전에 스냅샷을 찍습니다. 그런 다음 나중에 스냅샷을 마운트하고 이를 실제 루트의 상태와 비교할 수 있습니다.

그러나 격리 측면에서 더 현명한 접근 방식은 소프트웨어를 컨테이너에서 실행하는 것입니다. 이러한 사항은 실제로 "불변" 기본 이미지를 지원하기 위해 상단에서 변경되므로 변경 사항을 개별적으로 쉽게 볼 수 있습니다.

  1. 필요한 경우 변경 사항을 승인하거나 거부할 수 있습니다. svn에서 커밋하는 것과 같습니다.

SVN, 올드 스쿨! 물론 나중에 오버레이에서 변경된 파일을 영구 저장소로 선택적으로 복사할 수도 있습니다. 파일 시스템 스냅샷을 사용하는 경우 rsync --delete매우 선택적으로 이전 상태를 복원하십시오.

관련 정보