¿Cambiando rápidamente los permisos de Windows para un gran árbol de directorios?

14

Tengo un directorio enorme en un sistema de archivos NTFS (es decir, un directorio de nivel superior que contiene decenas o cientos de millones de nodos descendientes con los nodos de archivo probablemente en promedio a unos tres niveles de profundidad) para el que necesito cambiar los permisos. En particular, necesito dar a un nuevo usuario (o grupo) acceso de solo lectura a absolutamente todo en el árbol de directorios.

El lugar más obvio para hacerlo es en el Explorador de Windows haciendo clic derecho en el directorio de nivel superior y yendo a la pestaña de seguridad de la ventana de propiedades del directorio. Sin embargo, al probar las cosas obvias, el Explorador de Windows parece entusiasmado de recorrer recursivamente todo el árbol de directorios e intentar modificar algo u otro sobre los permisos de cada nodo en el árbol. ¡Esto es extremadamente ineficiente para un directorio tan grande!

¿Alguien puede ofrecer algún consejo para cambiar los permisos sin este descenso recursivo? ¿Necesito hacer clic en algo en particular en la GUI? ¿Necesito usar herramientas de línea de comandos? ¿Podría ser esto el resultado de que un administrador de sistemas anterior hiciera algo extraño a los permisos de este directorio?

También necesito habilitar el uso compartido de la red y dejar que el usuario / grupo monte el directorio a través de la red. Aún no lo he intentado, así que no sé si habrá una lata similar de gusanos cuando intente habilitar el uso compartido.

Esto está en Windows 2008 Server si es importante.

EDITAR : La gente tiene razón en que probablemente tenga más sentido dar permiso a un grupo de dominio en lugar de a una cuenta en particular, así que tomé nota de esto anteriormente (eso es lo que estaba haciendo de todos modos. No sé por qué pregunté específicamente sobre agregar un usuario a la pregunta original. Perdón por el descuido) . Pero, por supuesto, agregar un grupo a la lista de permisos de una carpeta no es más rápido que agregar un usuario (a ninguno de los grupos existentes se les asignan permisos de solo lectura).

Chris
fuente

Respuestas:

1

En este caso, no hay necesidad de meterse con los permisos NTFS.

Simplemente cree un recurso compartido en el directorio de nivel superior y agregue los usuarios o grupos al recurso compartido con permiso de solo lectura (o si desea escribir).

Incluso si Todos tienen permisos NTFS de Control total en el directorio de nivel superior , se utilizará el permiso más restrictivo (Compartir o NTFS).

Gordon Bell
fuente
1
Pero si un grupo apropiado (p. Ej., Todos) no tiene permisos en el nivel NTFS, aún tendrá que agregar esos permisos, independientemente de los permisos compartidos.
PowerApp101
44
Esa es una forma bastante pobre de administrar un servidor de archivos. Lo más probable es que este usuario no sea el único que necesita acceso y los permisos NTFS son mucho más granulares que los permisos Compartir. Traverse Directory viene a la mente como un gran error si se
limita
Es una opción simple en redes pequeñas. Normalmente establezco permisos NTFS, pero solo para grupos. El problema que afirmó es dar "acceso de solo lectura de nuevo usuario a absolutamente todo en el árbol de directorios".
Gordon Bell el
Incluso en redes pequeñas, uno debe aplicar prácticas adecuadas de gestión empresarial.
Daniel
Bueno, entonces puedes culpar a Microsoft por incluir los permisos de compartir en la mezcla. Además, esta pregunta ha cambiado desde que originalmente la respondí.
Gordon Bell
8

Si desea que el usuario tenga permiso de lectura en una carpeta y en todas las subcarpetas, también se deben cambiar los permisos de las subcarpetas. Parece que la herencia ya está configurada y simplemente no desea esperar a que esta herencia se propague a todos los objetos secundarios. Lo único que puede hacer además de esperar es agregar al usuario a un grupo existente que tenga los permisos apropiados, suponiendo que dicho grupo exista.

MDMarra
fuente
Hoy hice lo mismo en una carpeta con aproximadamente 10,000 elementos (no 10 millones) y lo configuré y me fui a hacer otra cosa. Cuando comienzas a poner millones de elementos en carpetas, es cuando un sistema de archivos comienza a ceder ...
Mark Henderson
2

No hay una forma rápida de hacer esto. Explorer se alegrará durante horas (¿días?) Aplicando el nuevo permiso a cada archivo y carpeta (si se establece la herencia).

Habilitar un recurso compartido es mucho más fácil, el usuario solo necesita al menos permisos de lectura en el recurso compartido. Los permisos NTFS subyacentes determinarán lo que el usuario realmente puede hacer. Tenga en cuenta que si el permiso compartido es de solo lectura, entonces ese es el acceso máximo, incluso si la seguridad NTFS está configurada para modificar (r / w).

PowerApp101
fuente
0

Realmente debería considerar crear un grupo local o de dominio y establecer sus permisos en el directorio de nivel superior, luego simplemente agrega usuarios al grupo según sea necesario.

Gordon Bell
fuente
2
¿Cómo acelerará eso la aplicación de permisos? Ese grupo aún deberá aplicarse a cada archivo y carpeta.
PowerApp101
1
Sí, pero solo una vez.
Gordon Bell el