NTFS: evitar / denegar el borrado de directorio en una carpeta de otro tipo "personal"

Tengo un directorio compartido vía CIFS de un "servidor" de Windows 7. Ningún dominio: sólo un grupo de trabajo simple.

Mis clientes acceden a este directorio a través de LAN a través de cuentas "Usuario estándar" (no "Administrador") en el servidor. Ellos usan esta acción para "almacenamiento personal", por lo que necesitan crear / editar / borrar todo en todo lo que contiene.

El problema es: I servidor-lado crea un directorio allí. Este único elemento no debe ser editable de ninguna manera, sólo legible / browsable / listable (vamos a centrarse en el directorio en sí, no en el archivo dentro (no hay alguno, a veces)).

Estoy trabajando con permisos de NTFS: he quitado heredar del directorio de la necesidad-no-supresión, así que puedo trabajar en sus permisos.

Quité la cuenta del cliente y, en esta etapa, sólo SYSTEM, los administradores y yo estamos presentes con sus permisos. En esta etapa, los clientes no pueden eliminar ni abrir la carpeta.

Si agrego una regla de "control total" Deny, nada cambia (como se esperaba).

Pero si modifico esa regla y permite sólo "Listar la carpeta / leer datos", mientras manteniendo todos los demás en Deny … el usuario puede eliminar la carpeta !?!?!?

¿Cómo es eso posible? ¿Qué estoy malentendiendo?

Nota: he comprobado dos veces con un solo archivo, no un directorio: ¡el mismo problema!

Esta es la salida Icacls:

(OI) (CI) (F) muletto \ myNetworkUser: (OI) (CI) (F) muletto \ Zane: (OI) (CI) (F) BUILTIN \ Administradores: (CI) (RX)

Se procesaron 1 archivos correctamente; Error al procesar 0 archivos

DE ACUERDO. Puedo confirmar que un usuario puede borrar un archivo (o quitar un directorio vacío) sin tener acceso de escritura a ese archivo / directorio si tiene acceso de eliminación de niños al directorio padre. Si yo era consciente de esto antes, lo había olvidado, pero es un comportamiento documentado, por ejemplo, ver KB101651 .

Hay (al menos) tres maneras de resolver su problema:

  • Proporcione a los usuarios el acceso Modificar en lugar del acceso Control total al directorio padre. Las únicas diferencias entre Control total y Modificar son el derecho Eliminar hijo (permitiendo al usuario eliminar objetos secundarios) y el derecho Write DAC (que permite al usuario cambiar los permisos en el objeto, aunque no sean el propietario).

  • Establezca los permisos en el recurso compartido en Modificar en lugar de Completo. Esto debería tener el mismo efecto, pero sólo afectará a los usuarios de la red, no a los usuarios interactivos. Un efecto secundario es que los usuarios no pueden cambiar permisos, incluso en sus propios archivos.

  • Establezca el indicador de sólo lectura en el archivo / directorio secundario. La documentación no está clara en este punto, pero mi prueba (Windows 7) indica que Delete Child no le permite eliminar archivos o quitar directorios con el indicador de sólo lectura establecido. También no le permite restablecer el indicador de sólo lectura. Tenga en cuenta que la interfaz gráfica de usuario de Explorer implica que el indicador de sólo lectura no tiene ningún efecto en los directorios; De hecho evita que se elimine el directorio. (No impide que se escriban nuevos archivos en el directorio.) Adición: el indicador de solo lectura no impide que se mueva un directorio.

Otras notas:

  • Puede denegar explícitamente la opción Eliminar hijo al directorio padre, pero si el usuario tiene control total en el directorio padre, podría eliminar la entrada de denegación.

  • Tener el derecho Eliminar niño en el directorio padre no permite a los usuarios eliminar archivos del directorio secundario o quitar el directorio secundario a menos que esté vacío. Adición: permite a los usuarios mover el directorio secundario.

    Intereting Posts