Windows 2003; Encuentra carpetas con permisos no heredados / modificados

8

La pregunta : estoy buscando una buena manera de auditar / buscar una estructura de directorios (Windows 2003) y localizar cualquier carpeta que no herede los permisos de sus padres o que agreguen usuarios / grupos adicionales.

La historia de fondo

Estamos migrando un antiguo servidor de archivos de Windows 2003 a un cuadro 2008 R2. Este antiguo servidor se migró desde NT4. La mayoría de las carpetas actuales usan los grupos antiguos Dominio \ Administradores y Dominio \ Usuarios. Estos son grupos que, mientras sigo en AD, no puedo usarlos para permisos en 2008 R2.

Entonces, antes de robocopiar todos los datos compartidos del servidor antiguo al nuevo, primero necesito "modernizar" los permisos en los recursos compartidos antiguos. Sin embargo, sé que en las últimas décadas algunas carpetas [indocumentadas] han modificado sus permisos para no heredar de los padres o para agregar usuarios adicionales. ¡Por lo tanto, mi búsqueda de una forma de encontrarlos!

Chris_K
fuente

Respuestas:

8

Recomendaría usar Powershell (para Win2003: http://support.microsoft.com/kb/968929/en-us ) y un módulo adicional adicional también para esto ( http://gallery.technet.microsoft.com / scriptcenter / 1abd77a5-9c0b-4a2b-acef-90dbb2b84e85 ).

Esto lo ayudará primero a obtener la herencia de una estructura de carpetas con (cuando se ejecuta desde su carpeta de inicio), por ejemplo.

get-childitem -Recurse | get-inheritance | export-CSV C:\Inheritance.csv -NoTypeInformation

Obtendrá todos los archivos y carpetas en un csv que luego se puede filtrar en Excel u otros DB si lo necesita.

El beneficio adicional de NTFSSecurity Modul es que puede cambiar la herencia o las ACL también durante la migración con un script Powershell similar.

por ejemplo, puede eliminar completamente la herencia en una carpeta (su carpeta de inicio) con:

get-childitem | Disable-Inheritance

o agregue nuevamente el interruptor -recurse para todas las subcarpetas / archivos

Espero que esto ayude Saludos

Mr.T
fuente
1
+1 por informarme sobre el módulo PowerShell de seguridad del sistema de archivos.
pk.
¡Pequeño, pero extremadamente funcional y útil! ¡Una cosa imprescindible!
Volodymyr Molodets
1

Esto es bastante fácil con SetACL . Ejecútelo así:

SetACL -on "some path" -ot file -actn list -lst f:csv -rec cont

Ese comando indica a SetACL que imprima permisos de aquellos objetos que solo tienen permisos explícitos, ya sea porque las ACE se agregaron a un directorio con herencia habilitada o porque la herencia estaba deshabilitada y se establecieron nuevas ACE.

SetACL procesa rutas de más de 260 caracteres y enumera las ACE de cualquier directorio independientemente de los permisos actuales, es decir, incluso si ni siquiera tiene acceso de lectura, SetACL le muestra lo que hay e imprime los permisos (se requieren derechos de administrador).

Helge Klein
fuente