16 votos

Usando ICACLS establecer permisos en los directorios

Estoy tratando de restablecer permisos en los directorios de usuario y tener un poco de problemas con el último paso de mi script. Mi script básicamente toma la propiedad de la totalidad del directorio de usuario, restablece los permisos de todos los archivos y carpetas del directorio, concede explícitamente los permisos necesito, deja toda la herencia de permisos de las carpetas principales, establece el legítimo propietario (usuario especificado) de todos los archivos y carpetas y, a continuación, elimina el permiso que me dio a mí para que yo pudiera operar en los archivos. Necesito este último paso para eliminar a mí mismo de TODOS los archivos y subcarpetas, pero por el momento sólo me saca de la %userDir% y deja todos los permisos heredados a continuación. Este es un problema aparente en ICACLS. ¿Alguien sabe de alguna otra manera de lograr esto?

set /p userDir=Enter the login of the user's directory you're modifying permissions for. (i.e. jDoe)
TAKEOWN /f "E:\Home Directories\%userDir%" /r /d y
ICACLS "E:\Home Directories\%userDir%" /reset /T
ICACLS "E:\Home Directories\%userDir%" /grant:r "MYDOMAIN\%userDir%":(OI)(CI)F /grant:r "SYSTEM":(OI)(CI)F /grant:r "MYDOMAIN\%username%":(OI)(CI)F
ICACLS "E:\Home Directories\%userDir%" /inheritance:r
ICACLS "E:\Home Directories\%userDir%" /setowner "MYDOMAIN\%userDir%" /T
ICACLS "E:\Home Directories\%userDir%" /remove "MYDOMAIN\%username%"

18voto

Evan Anderson Puntos 118832

Una primera observación: Cada vez que el bloqueo de herencia está cortando a sí mismo de flexibilidad en el futuro. I evitar el bloqueo de la herencia a toda costa.

Si usted necesita que los usuarios puedan mostrar el contenido de la de nivel superior "E:\Home Directorios" carpeta, por ejemplo, considere el siguiente permiso:

  • El SISTEMA de Control Total Aplicar a esta carpeta, subcarpetas y archivos
  • BUILTIN\Administradores Control Total Aplicar a esta carpeta, subcarpetas y archivos
  • BUILTIN\Usuarios Autentificados - Leer y Ejecutar - Aplica sólo a esta carpeta

El último permiso no hereda abajo en las subcarpetas. En cada subcarpeta, la herencia permanece activada y usted sólo tiene que especificar el usuario con "Modificar" o "Control Total" de los derechos (dependiendo de cómo se siente acerca de los usuarios de ser capaz de establecer los permisos dentro de su directorio de inicio). (Normalmente, puedo establecer que el último permiso mediante la adición de "Usuarios Autenticados" no"Avanzado" de Seguridad de la hoja de propiedades, desactive la opción "Leer" y "Lectura y Ejecución" casillas de verificación. Yo, a continuación, proceder a la "Avanzada" de diálogo y cambiar el "Aplicar" para que ACE a "sólo Esta carpeta". Que trata de la forma más fácil, en términos de número de clics, para configurarlo.)

A continuación, la secuencia de comandos se convierte en:

set /p userDir=Enter the login of the user's directory you're modifying permissions for. (i.e. jDoe)
TAKEOWN /f "E:\Home Directories\%userDir%" /r /d y
ICACLS "E:\Home Directories\%userDir%" /reset /T
ICACLS "E:\Home Directories\%userDir%" /grant:r "MYDOMAIN\%userDir%":(OI)(CI)F
ICACLS "E:\Home Directories\%userDir%" /setowner "MYDOMAIN\%userDir%" /T

Tengo la fuerte sospecha de que la adición de los "Usuarios Autenticados" permiso he descrito anteriormente w/ la herencia establece que "sólo Esta carpeta", le dará lo que usted está buscando en la funcionalidad y le dará flexibilidad en el futuro si usted descubre que usted tiene que fijar un permiso que puede ser que necesite para heredar en todos los directorios home de los usuarios en el futuro.

Este es mi SOP para los directorios home de los usuarios, redireccionado de "Mis Documentos", "Escritorio", etc carpetas, y para el perfil de usuario móvil directorios. Funciona a la perfección.

Editar

re: tu comentario acerca de BUILTIN\Administradores de acceso

He tenido varias discusiones con la gente acerca de mi opinión sobre el otorgamiento de la BUILTIN\Administradores acceder a través de los años, y mi opinión es esta:

  • Es más fácil resolver una cierta clase de problemas de los usuarios si usted puede acceder a sus archivos. Es un dolor de "toma de posesión", y puede ser muy lento si hay un gran número de archivos presentes, demasiado.

  • Como hemos visto con ICACLS, BUILTIN\Administradores pueden asignar la propiedad (además de "tomar") por lo que no hay "seguridad", agregó por no tener los archivos accesibles a BUILTIN\Administradores en el primer lugar.

  • A menos que usted está utilizando la auditoría (y tamizar a través de un enorme número de falsos positivos entradas), no habrá una pista de auditoría cuando un grupo BUILTIN\Administradores de usuario asume la propiedad de los archivos que no deberían tener acceso, copias de ellos, y, a continuación, devuelve los archivos de vuelta a su "correcta" dueño y permiso.

  • En el mundo de Microsoft, el sistema de archivos de Cifrado (EFS) se pretende resolver el problema de mantenimiento no autorizado BUILTIN\Administradores acceso desde sucediendo. Las Acl de NTFS no resolver el problema. (Obviamente, la EFS no es el único espectáculo en la ciudad. El cifrado es la verdadera respuesta a la solución de la "límite de la red de acceso del Administrador" problema, no importa cómo se corta en rebanadas.)

A mi mente, no se especifica BUILTIN\Administradores con acceso a directorios home de los usuarios (y, de hecho, cualquier carpeta) significa que usted está aumentando la complejidad y el tiempo necesario para resolver problemas, mientras que proporciona un menor que no hay una verdadera seguridad ("menos que nada" porque da una falsa sensación de seguridad, donde no hay ninguno).

Me he dado por vencida tratando de ganar la discusión con la gente por medio de la lógica. Parece ser un problema emocional con algunas personas. Es como el tonto "Deny / Recibir Como" ACE que se coloca en la root de una organización de Exchange para prevenir ciertos grupos privilegiados de la apertura de los buzones de los usuarios. No ofrece ninguna seguridad real (desde w/o de auditoría se podría quitar y volver a aplicar el ACE como sea necesario), un falso sentido de seguridad, y se pone en el camino a la hora de resolver problemas reales.

Incluso si no te gusta mi argumento acerca de BUILTIN\Administradores tener acceso usted desea mantener la jerarquía de herencia intacta mediante el uso de "sólo Esta carpeta" herencia cuando proceda. El bloqueo de la herencia en el permiso de jerarquías es un signo seguro de que algo acerca de que el diseño es "roto" (invertida, etc).

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: