1 votos

¿Por qué no puedo hacer un enlace duro a PkgInfo?

Con bash como shell, una forma sencilla de demostrar mi pregunta es esta:

mkdir -p foo.app/Contents
cd foo.app/Contents
echo -n 'AEgxFXTC' > PkgInfo
ln PkgInfo f

El ln fallará con ln: f: Operation not permitted

Estoy en 10.10.5 con un sistema de archivos Mac OS Extended (Journaled, Encrypted).

Parece que hay alguna magia escondida en el sistema de archivos para los archivos llamados PkgInfo dentro de un directorio llamado Contents. El contenido del archivo no parece importar.

¿Cuál es la magia en concreto? ¿Hay otros nombres mágicos además de PkgInfo? ¿Por qué es especial? etc.

2voto

Brian Rogers Puntos 12160

Esta es una "característica" de seguridad no documentada de MacOS. Véase https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/CB0zClGfh3c

Esto resulta ser un problema específico de *.app/Contents/PkgInfo y .app/Contenidos/Recursos/ archivos .lproj. OS X no quiere permitir la creación de un enlace duro entre uno de estos elementos en un paquete de aplicaciones a otro archivo en una carpeta que no sea un paquete de aplicaciones. No he podido encontrar una explicación para este comportamiento en la documentación de Apple, ni en el código fuente de HFS o del kernel de OS X.

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