MacOS의 `/tmp` 또는 `/private/tmp`는 전체 쓰기 가능해야 합니까?

MacOS의 `/tmp` 또는 `/private/tmp`는 전체 쓰기 가능해야 합니까?

기본적으로 전 세계적으로 쓰기 가능하다는 것을 알고 있지만 그럴 필요가 있는지 궁금합니다. MacOS, 운영 체제 및 지원 앱이 모두 /tmp -> /private/tmp쓰기 가능해야 합니까?

Apple 문서에서 어떤 식으로든 설명하는 내용을 찾을 수 없으며 다른 사람이 알 수 있기를 바라고 있었습니까?

tmp앱은 자체 앱 디렉토리에서 샌드박싱해야 하기 때문에 더 나은 보안을 위해 전 세계 쓰기 가능 권한을 제거해야 한다는 주장이 있습니다 .

답변1

/private/tmp( 심볼릭 링크인) 권한을 잠그면 /tmp권한 변경을 위반하는 방식으로 이를 사용하려고 하는 모든 소프트웨어가 중단됩니다(해당 디렉터리를 안전한 방식으로 사용한 경우에도 이는 전적으로 가능합니다).

/private/tmpPerms를 변경하면 다양한 유형의 소프트웨어에 어떤 영향을 미치는지 살펴보겠습니다 .

  • 샌드박스가 적용된 앱(예: macOS의 샌드박스 메커니즘을 선택하는 앱)은 대부분 자체 샌드박스 컨테이너( 아래 ~/Library/Containers)로 제한되며 그 외부의 모든 항목에 대한 액세스가 제한됩니다. 나는 그들이 /private/tmp전혀 사용하는 것이 허용되지 않는다고 생각합니다 (그것에 대한 파마가 무엇이든 관계없이). 없는 한권리그렇게 하면 그들이 그것에 접근할 수 있게 될 것입니다. 하지만 그렇게 할 수 있는 어떤 것도 모릅니다.
  • $TMPDIR임시 파일( 또는 를 사용하는 쉘 스크립트 포함)을 생성/찾는 표준 방법을 사용하는 소프트웨어는 자동으로 에서 수행할 수 있는 것보다 훨씬 더 잠긴 mktemp -t ...개인(사용자별) 디렉토리를 사용합니다 ./var/folders/something.../private/tmp
  • 다음을 사용하는 소프트웨어/private/tmp 제대로(사소한 것은 아니지만 완전히 가능하다고 말했듯이) 파마 변경으로 인해 액세스가 허용되지 않으면 아마도 실패할 것입니다(안전한 방법일 수도 있고 그렇지 않을 수도 있습니다. 세부 사항에 따라 다릅니다).
  • 다음을 사용하는 소프트웨어/private/tmp 부적절하게또한 권한 변경으로 인해 액세스가 허용되지 않으면 아마도 실패할 것입니다(다시 말하지만, 안전한 방법일 수도 있고 그렇지 않을 수도 있습니다. 세부 사항에 따라 다릅니다).

따라서 제가 아는 한, 잠금은 /private/tmp일부 소프트웨어를 손상시킬 가능성이 높으며 아마도 해결하는 것보다 더 많은 문제를 야기할 것입니다.

관련 정보