MacOS の `/tmp` または `/private/tmp` は誰でも書き込み可能である必要がありますか?

MacOS の `/tmp` または `/private/tmp` は誰でも書き込み可能である必要がありますか?

デフォルトでは誰でも書き込み可能であることは知っていますが、そうする必要があるのか​​疑問に思っています。MacOS、オペレーティング システム、およびそのサポート アプリは、誰でも/tmp -> /private/tmp書き込み可能である必要がありますか?

Apple のドキュメントには、いずれにせよ何も記載されていないので、他の誰かが知っているのではないかと期待しています。

tmpアプリは独自のアプリ ディレクトリ内でサンドボックス化する必要があるため、セキュリティを強化するために世界書き込み権限を削除すべきだという議論があります。

答え1

/private/tmp(シンボリックリンク)の権限をロックダウンすると/tmp、権限の変更に違反する方法でそれを使用しようとするソフトウェアはすべて動作しなくなります (そのディレクトリを安全な方法で使用した場合でも、これは完全に可能です)。

/private/tmp権限を変更すると、さまざまな種類のソフトウェアにどのような影響が及ぶかを説明します。

  • サンドボックス化されたアプリ(つまり、macOSのサンドボックスメカニズムにオプトインしたアプリ)は、ほとんどの場合、独自のサンドボックスコンテナ( の下)に制限されており、その外へのアクセスは制限されています。私は、それらのアプリが(権限が何であっても)まったく~/Library/Containers使用できないと思います。/private/tmp権利そうすればアクセスできるようになりますが、そうする人は知りません。
  • 標準的な方法を使用して一時ファイルを作成/検索するソフトウェア ($TMPDIRまたは を使用するシェル スクリプトを含むmktemp -t ...) は、 の下のプライベート (ユーザーごと) ディレクトリを自動的に使用します。/var/folders/something...これは、 を使用する場合よりもはるかに厳重にロックダウンされます/private/tmp
  • 使用するソフトウェア/private/tmp きちんと(これは簡単なことではありませんが、前述したように完全に可能です) 権限の変更によってアクセスが許可されない場合 (安全な方法である場合もあれば、そうでない場合もあります。詳細によって異なります)、おそらく失敗するでしょう。
  • 使用するソフトウェア/private/tmp 不適切にまた、権限の変更によってアクセスが許可されない場合も、おそらく失敗するでしょう (繰り返しますが、安全な方法である場合もあれば、そうでない場合もあります。詳細によって異なります)。

したがって、私が見る限り、ロックダウンは/private/tmp一部のソフトウェアを壊すだけであり、おそらく解決するよりも多くの問題を生み出す可能性が高いです。

関連情報