Muss „/tmp“ oder „/private/tmp“ unter MacOS für alle beschreibbar sein?

Muss „/tmp“ oder „/private/tmp“ unter MacOS für alle beschreibbar sein?

Ich weiß, dass es standardmäßig allgemein beschreibbar ist, frage mich aber, ob das so sein muss. Müssen MacOS, das Betriebssystem und alle seine unterstützenden Apps /tmp -> /private/tmpallgemein beschreibbar sein?

Ich kann in den Dokumentationen von Apple nichts finden, was darauf hindeutet, und hoffe, dass es jemand anderes vielleicht weiß.

Es gibt Argumente dafür, aus Sicherheitsgründen die allgemeine Schreibberechtigung zu entfernen, da Apps tmpin ihrem eigenen App-Verzeichnis in einer Sandbox ausgeführt werden sollten.

Antwort1

/private/tmpWenn Sie die Berechtigungen für ( ein symbolischer Link zu) sperren /tmp, wird jede Software, die versucht, es auf eine Weise zu verwenden, die die Berechtigungsänderung verletzt, beschädigt (selbst wenn sie das Verzeichnis auf sichere Weise verwendet hat, was durchaus möglich ist).

Lassen Sie mich durchgehen, wie sich die Änderung der Berechtigungen /private/tmpauf verschiedene Arten von Software auswirken würde:

  • Sandbox-Apps (also solche, die sich für den Sandbox-Mechanismus von macOS entscheiden) sind meist auf ihren eigenen Sandbox-Container (unter ~/Library/Containers) beschränkt und haben nur begrenzten Zugriff auf alles außerhalb davon. Ich glaube nicht, dass sie diese überhaupt verwenden dürfen /private/tmp(egal, welche Berechtigungen sie haben). Es sei denn, es gibt eineAnspruchdas würde ihnen Zugriff darauf ermöglichen – aber ich kenne niemanden, der das tun würde.
  • Software, die eine der Standardmethoden zum Erstellen/Auffinden temporärer Dateien verwendet (einschließlich Shell-Skripts, die $TMPDIRoder verwenden mktemp -t ...), nutzt automatisch ein privates (pro Benutzer) Verzeichnis unter /var/folders/something..., das viel stärker abgeschirmt ist, als dies mit möglich wäre /private/tmp.
  • Software, die verwendet/private/tmp richtig(was nicht trivial ist, aber wie gesagt durchaus möglich) wird wahrscheinlich einfach fehlschlagen, wenn Ihre Rechteänderung keinen Zugriff darauf zulässt (vielleicht auf sichere Weise, vielleicht auch nicht – hängt von den Einzelheiten ab).
  • Software, die verwendet/private/tmp unsachgemäßwird wahrscheinlich auch einfach fehlschlagen, wenn Ihre Berechtigungsänderung keinen Zugriff darauf zulässt (auch hier gilt: vielleicht auf sichere Weise, vielleicht auch nicht – hängt von den Einzelheiten ab).

Soweit ich das beurteilen kann, /private/tmpführt eine Sperrung höchstwahrscheinlich nur dazu, dass die Software kaputt geht, und schafft wahrscheinlich mehr Probleme, als sie löst.

verwandte Informationen