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/tmp
allgemein 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 tmp
in ihrem eigenen App-Verzeichnis in einer Sandbox ausgeführt werden sollten.
Antwort1
/private/tmp
Wenn 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/tmp
auf 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
$TMPDIR
oder verwendenmktemp -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/tmp
führt eine Sperrung höchstwahrscheinlich nur dazu, dass die Software kaputt geht, und schafft wahrscheinlich mehr Probleme, als sie löst.