Flatpak - 샌드박스 홈 디렉토리를 안전하게 재배치

Flatpak - 샌드박스 홈 디렉토리를 안전하게 재배치

~/나는 내가 선택한 어느 곳에나 완전히 샌드박스화된 디렉토리를 사용하여 Flatpak 애플리케이션을 투명하게 제공하고 싶습니다 .

  • 즉, 샌드박스를 원합니다.전반적인이렇게 하면 임의의 하위 디렉토리에 쓰기가 예상대로 작동하고 대신 외부 디스크(마운트된 위치) ~/의 위치에 매핑됩니다 ./mnt/<disk-id>~/.var/app/<app-id>
  • 이상적으로는 이사하고 싶습니다.모두특정 애플리케이션에 대한 사용자별 데이터이지만 이 질문의 범위를 제한하려고 합니다.
  • --filesystem=<path>나는 임의의 위치에 대한 액세스 권한을 부여 하고 ~/사용자 아래의 다양한 하위 디렉토리를 적절한 샌드박스 디렉토리에 매핑함으로써 이를 수행할 수 있다는 것을 알고 있습니다 --persist=<path>. 그러나 이러한 옵션 중 어느 것도 내 사용 사례를 만족시키지 못하는 것 같습니다.

Flatpak 문서(샌드박스 권한그리고플랫팩 적용 범위)는 샌드박스가임시 파일 시스템 사용그리고 특정 디렉토리를 마운트하기 위해서만 바인드하세요. 특히,flatpak-override --persist 문서이는 데이터를 유지하려면 개별 하위 디렉터리를 사례별로 매핑해야 함을 의미하는 것 같습니다. 이에 모순되는 것은,샌드박스 개요~/.var/app/<app-id>이는 설치를 샌드박스에만 바인딩한다고 말하는 것 같습니다 ~/. 후자는 실제로 일어나는 것처럼 보입니다. 샌드박스 애플리케이션을 사용하여 ~/샌드박스에 매핑되지 않은 디렉터리를 생성 하면 ~/.var/app/<app-id>해당 디렉터리가 생성되어 애플리케이션을 다시 시작해도 유지됩니다.

명백한 행동을 고려하면,단순히 마운트를 원하는 위치에 바인딩하는 것이 안전합니까?도착하다 ~/.var/app/<app-id>? 나는 Flatpak이 강력한 샌드박스를 만들기 위해 뒤에서 많은 파일 시스템 속임수를 쓰고 있다는 것을 알고 있기 때문에 이것을 맹목적으로 시도하는 것을 주저했습니다. 특히, 샌드박스 파일 시스템을 피벗_루팅하고, ​​바인드 마운트한 위치를 바인드 마운트하고( rbind여기에 있어야 합니까?) 하위 디렉토리에서 추가 바인드 마운트를 수행할 수 있습니다(이것은 다음과 잘 작동합니다).내 거번들 설치? ) 그리고 내가 이상하고 창의적인 방식으로 수행하는 간접적인 효과가 약화될 수 있다고 우려되는 다른 예방 조치(현재 또는 미래)를 취할 수 있습니다.

관련 정보