2 votos

¿Por qué es Mac OS x temp. directorio en el extraño camino

Comparando a de sistemas Linux, OSX directorio temporal predeterminado parece estar en un extraño camino.

Quiero saber por que eso es, al menos, cómo está organizada. Aquí están mis observaciones:

Mi echo "$TMPDIR" de salida es /var/folders/pd/l3jkqy0s6_59p4vhlbx3__dr0000gp/T/.

Cuando me cd a /var/folders/ y corrió tree de ella y se percató de la siguiente estructura/patrón:

├── pd
│   └── k7jkgy2s3_99p4vhlbx3__dr0gp
│       ├── 0
│       │   ├── com.apple.CalendarAgent
│       │   ├── com.apple.LaunchServices-231-v2.csstore
│       │   ├── ....
│       ├── C
│       │   ├── com.avastsecurelinehelper
│       │   │   └── com.apple.metal...
│       │   ├── avast.passwords.PasswordsHelperApp
│       │   │   ├── avast.passwords.PasswordsHelperApp
│       │   ├── ....
│       └── T
│           ├── AudioComponentRegistrar
│           ├── TemporaryItems
│           ├── VSCode\ Crashes
└── zz
    ├── 55g2846x3r5_sp1w7xvd81ch0000gn
    │   ├── 0
    │   │   ├── com.apple.LaunchServices-231-v2.csstore
    │   │   ├── ...
    │   ├── C [error opening dir]
    │   └── T [error opening dir]
    ├── zyxvpxwx6ckaln_n000006w00011q
    ├──  ...

Los dominios de nivel superior como pd y zz son notables. También el charactered directorios como 0, C, T.

¿Qué significan o qué convenio van a seguir?

10voto

Jose Chavez Puntos 645

La razón para tener estas carpetas en lugar de una más simple /tmp que se puede saber de otros sistemas es para prevenir una serie de problemas de seguridad. Principalmente algunos programas crean archivos/carpetas/tuberías en /tmp que podría ser utilizado para explotar ese programa o datos de usuario. Por lo tanto, estos programas necesitan para asegurarse de que los permisos de archivo en los archivos son tales que otros programas del usuario no puede acceder a ellos.

El problema es que esto a veces se olvida o se ignora, y esto crea agujeros de seguridad. Este no es sólo el caso en macOS, pero también en Linux que usted menciona como su comparación. Existen soluciones similares en Linux para este problema, pero contrario a macOS, por lo general, no se instala por defecto en una casa de la configuración de usuario. En Linux estas soluciones son conocidas como "polyinstantiated directorio /tmp" y "PrivateTmp".

La solución en macOS es tener una nueva carpeta de archivos temporales para cada usuario. De esta manera un usuario puede interferir con otros usuarios carpetas temporales (debido a los conflictos de nombres o intencionalmente).

La colocación en /var/carpetas es más, probablemente, sólo para mantenerlo lejos de las /los Usuarios, que de otro modo sería un lugar lógico para almacenar algo para cada usuario. El razonamiento es que esta carpeta contiene cosas que son temporales de la naturaleza, y por lo tanto no lo quieren en el /los Usuarios, lo que podría ser un recurso compartido de red en un servidor, y lo más probable incluidos en copias de seguridad, etc.

El extraño nombre de "k7jkgy2s3_99p4vhlbx3" que vemos es en realidad sólo generados a partir de los unix uid (identificador de usuario de 32 bits) y los usuarios uuid (identificador único universal, 128-bit). Los dos se concatenan y se convierte en un nombre de archivo mediante la asignación de cada grupo de 5 bits para un personaje de la serie '0123456789_bcdfghjklmnpqrstvwxyz'. Esto hace que sea más difícil para que los programas intencionalmente la apertura de rutas de archivo para otros usuarios, ya que ellos necesitan saber este nombre por adelantado.

Las carpetas "dp" y "zz" que llame a los TLDs son simplemente los dos primeros caracteres de la mencionada codificación. La idea es que si usted tiene un gran sistema corporativo, a continuación, usted no quiere tener miles de carpetas (una para cada usuario) dentro de la misma carpeta. En lugar de tener un número de carpetas que son combinaciones de dos caracteres (como enfermedad de parkinson, zz, bc, etc.) - y en cada uno de los que, a continuación, por ejemplo, cientos de carpetas para los usuarios.

Las carpetas de abajo que de nuevo, "C, T, 0" son identificadores para especificar que el contenido de esas carpetas son "cachés", "archivos temporales" y "archivos de usuario" en consecuencia.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X