tracer pares nombradas impares extendida estandar ejercicios donde configura como aplicar windows svn permissions installshield acl

pares - ¿Dónde almacena Windows las ACL y las ACL siguiendo un archivo de una máquina a otra?



donde aplicar acl (1)

Las ACL se almacenan en la parte de una partición NTFS que hace toda la fontanería de fondo: la MFT (Master File Table).

La ACL no sigue un archivo, ya que no forma parte del archivo (al igual que el nombre del archivo es metadata). El archivo puede cruzar límites de tipo de partición (NTFS-> FAT), la ACL no puede.

Ahora, si mueve un archivo dentro de una partición NTFS, puede tener la impresión de que las ACL realmente siguen el archivo. Esto se debe a que durante un movimiento, solo se cambia el nombre del archivo en el MFT. Todo lo demás se queda igual.

Si copia un archivo o lo mueve a otra partición o computadora (que en realidad es una operación de copia + eliminación), el archivo copiado heredará de forma predeterminada los permisos de su nuevo contenedor (solo los heredables, para ser precisos).

Sin embargo, hay herramientas que son capaces de retener la ACL de un archivo después de una operación de copia (simplemente recreándolo en el archivo de destino después de la operación de copia) incluso sobre los límites de la partición o la computadora. xcopy puede hacer eso, entre otros.

Pero dado que una ACL puede contener SID que son "propiedad del dominio", una entrada de ACL puede no ser significativa para la computadora de destino que no es parte del mismo dominio (por ejemplo cuando se lleva a casa una unidad USB con formato NTFS). En ese caso, la entrada de ACL no tendrá ningún efecto.

Otros SID son "bien conocidos", como el SID "SYSTEM". Estos serán realmente reconocidos a través de las fronteras del dominio.

Nuestra aplicación utiliza un componente que requiere un archivo de licencia en el directorio con nuestro ejecutable, que pasa a ser una aplicación .NET WinForms, aunque creo que es irrelevante para esta pregunta. Cuando se instala en algunas máquinas XP Pro (solo tres de varios cientos hasta el momento), el componente arroja una excepción de licencia. Así que regeneré el archivo de licencia y lo envié al proveedor del componente (EMC Captiva), donde el vendedor afirma que el error se debe al hecho de que el grupo "Usuarios" no tiene permisos de lectura en el archivo. El usuario que encuentra el error pasa a ser un administrador local, pero eso es además del punto, ya que todavía tengo curiosidad sobre la pregunta más general.

Así que mi pregunta es, ¿las ACL están almacenadas en un archivo para que sigan el archivo a lo largo de su vida, especialmente cuando el archivo de licencia se generó en mi máquina dev (máquina 1), se almacenó en Subversion (máquina 2), se retiró del control de fuente por TeamCity (máquina 3), empaquetado en un instalador por InstallShield (máquina 4), y finalmente implementado en la máquina del cliente (máquina 5) donde fue instalado por un administrador. ¿Qué sucede después de que genero el archivo en mi máquina de desarrollo (máquina 1), lo cargo al proveedor del componente a través de su sitio de soporte (máquina 2) y la persona de soporte lo descarga a su máquina para su inspección (máquina 3)?

No lo sé con certeza (por eso lo estoy preguntando aquí), pero asumí que cada máquina de Windows almacena ACL en algún directorio / lista / tabla central administrado por NTFS en lugar de estar almacenado dentro del archivo. ¿Qué sucede con la lista de control de acceso del archivo original cuando se copia de una máquina a otra, se almacena en Subversion, se empaqueta en una MSI, etc.? ¿Puede alguien señalarme algunas buenas referencias en las que pueda leer sobre esto?