¿Es necesario que `/tmp` o `/private/tmp` en MacOS se puedan escribir en todo el mundo?

¿Es necesario que `/tmp` o `/private/tmp` en MacOS se puedan escribir en todo el mundo?

Sé que se puede escribir en todo el mundo de forma predeterminada, pero me pregunto si es necesario. ¿Es necesario que MacOS, el sistema operativo y cualquiera de sus aplicaciones compatibles /tmp -> /private/tmpse puedan escribir en todo el mundo?

No puedo encontrar nada en la documentación de Apple que indique una forma u otra y esperaba que alguien más lo supiera.

Hay argumentos para eliminar su permiso de escritura mundial para una mayor seguridad porque las aplicaciones deberían estar protegidas tmpen su propio directorio de aplicaciones.

Respuesta1

Si bloquea los permisos /private/tmp(que /tmpes un enlace simbólico), cualquier software que intente usarlo de una manera que viole el cambio de permisos se romperá (incluso si usó ese directorio de manera segura, lo cual es completamente posible).

Permítanme explicarles cómo el cambio de permisos /private/tmpafectaría a los diferentes tipos de software:

  • Las aplicaciones de espacio aislado (es decir, aquellas que optan por el mecanismo de espacio aislado de macOS) están restringidas en su mayoría a su propio contenedor de espacio aislado (en ~/Library/Containers), con acceso limitado a cualquier cosa fuera de él. No creo que se les permita su uso /private/tmpen absoluto (sin importar cuáles sean las permanentes). A menos que haya underechoeso les permitiría acceder a él, pero no conozco ninguno que haga eso.
  • El software que utiliza cualquiera de las formas estándar para crear/localizar archivos temporales (incluidos los scripts de shell que utilizan $TMPDIRo mktemp -t ...) utilizará automáticamente un directorio privado (por usuario) en /var/folders/something..., que está mucho más bloqueado de lo que podría hacerlo con /private/tmp.
  • Software que utiliza/private/tmp adecuadamente(lo cual no es trivial, pero como dije es completamente posible) probablemente simplemente fallará si el cambio de permisos no permite el acceso a él (tal vez de manera segura, tal vez no, depende de los detalles).
  • Software que utiliza/private/tmp incorrectamenteProbablemente también fallará si el cambio de sus permisos no permite el acceso a él (nuevamente, tal vez de manera segura, tal vez no, depende de los detalles).

Hasta donde puedo ver, /private/tmplo más probable es que bloquear simplemente rompa algún software y probablemente cree más problemas de los que resuelve.

información relacionada