Geek de todas las operaciones Establecer permisos desde la línea de comandos

Greg Shields

Contenido

Cacls muy muchos
Administrar permisos a través de tiempo
Permisos de previsión

Un amigo antiguo y el tipo profesional de TI tiene esto señala diciendo yo repetición mucho últimamente. Se relaciona con vaya acerca de cómo realizar las tareas en su trabajo diario y su carrera. Comenta con dedo en el aire, "profesionales de TI que no Aprenda a completar sus tareas desde la línea de comandos no serán los profesionales de TI en los próximos cinco años."

fig01.gif

Figura 1 una estructura de carpetas muestra archivos Server

Ahora que una instrucción drástica, pero es uno cada profesional de TI debería prestar atención a. No importa está un jack-of-all-trades o profundizar en un enfoque determinado, obtener las manos que mouse (ratón) y en el teclado es posiblemente la aptitud número una que debe dominar si estás tener éxito en los próximos años. ¿Por qué la línea de comandos? En pocas palabras: eficacia, repetibilidad y garantía.

Si administra una tecnología a través de su gráfico, cualquier acción que realiza eficazmente hay evapora una vez completado. Sólo no se puede reutilizar clics del mouse. En contraste, completar dicha acción a través de la command line, si a través de un comando o una secuencia de comandos, permite reutilizar el trabajo y otra vez.

No es más evidente que con la configuración y administración de permisos de sistema de archivo de Windows, una tarea hacemos todo el tiempo. Configuramos perms en archivos y carpetas. Podemos actualizar y administrar nuestros permisos de recurso compartido. De vez en cuando, incluso se podrían actualizar los permisos de objeto en el registro. Todas ellas son acciones que pueden realizarse a través del explorador o interfaces gráficas de regedit. Pero mediante las interfaces es engorroso, propensa a errores y disco duro en las muñecas. Si alguna vez ha llegado la mayoría de la forma a través de un cambio de permisos largo, sólo para que de bloqueo que en algún lugar en el medio con "Acceso denegado", sabe que este dolor.

Modificaciones de permisos a través de la interfaz de usuario son especialmente problemáticas debido al enorme número de actores en reproducir. Entorno de pequeña puede tener miles de carpetas individuales y cientos de usuarios, cualquiera de los cuales puede tener varios permisos asignados. Administrar el número de configuraciones posibles que puede dar lugar a enorme no es ninguna tarea fácil. Y si comparte la carga de trabajo con más de un administrador, puede estar seguro cosas cambiará muy segundo finalmente perfecta perms en una estructura de carpetas complejos.

La forma alrededor de estos problemas es para usted mismo confirmar en Administrar permisos de archivo del sistema desde la línea de comandos. Tomando la mano el mouse y invertir cierto esfuerzo en familiarizarse con un par de herramientas, le recompensa con una solución más eficaz que es infinitamente repetible con completa garantía de éxito.

Cacls muy muchos

La primera herramienta que veremos es "listas de control de acceso de cambio" o cacls, una herramienta de línea de comandos que ha tenido un historial largo y fruitful con el sistema operativo Windows. El original cacls suministrado con Windows NT 4.0 y habilitado un conjunto de capacidades básicas para cambiar permisos en el command line pero estaba limitada en lo que no se pudo realizar. Para resolver estas limitaciones, Microsoft publicado posteriormente un xcacls expandido en el Kit de recursos de Windows NT. Posterior aún, se publicó un xcacls.vbs no compatible que fue aún más con capacidad pero con versiones anteriores en términos de rendimiento.

La versión más reciente y completo, icacls, se incluye con Windows Vista y Windows Server 2008 y puede descargarse para Windows XP y Windows Server 2003 en support.Microsoft.com/kb/919240. Icacls incluye gran parte de la funcionalidad agregada en el código VBScript experimental pero llega como un EXE considerablemente más rápido. Icacls también agrega compatibilidad para administrar los niveles de integridad de Windows, una capa secundaria del control de acceso que no trataremos en este artículo.

Supongamos que usted es responsable de administrar permisos en un servidor de archivos con una estructura de carpeta similar a uno en la figura 1 . Allí verá una carpeta de raíz denominada Shared que contiene la Dpto. financiero y subcarpetas de marketing, que contiene subcarpetas adicionales. También observará que las carpetas están configuradas para que cada vez más pequeños grupos de personas pueden tener acceso a recursos compartidos de nivel inferior. Por ejemplo, los usuarios de finanzas pueden leer la información en la carpeta de presupuesto, pero sólo los usuarios de presupuesto pueden escribir en él. Una carpeta restringida también está presente en la parte inferior que no debe poder ver excepto con acceso restringido. Esto es una estructura común en muchos servidores de archivos de hoy.

Puede usar icacls para establecer permisos como las de Figure 1 , pero no es obvio exactamente cómo hacerlo. Para establecer los permisos indicados para sólo la carpeta medidas, utilizaría la sintaxis siguiente:

icacls C:\Shared\Finance\Metrics /grant:r "Finance Users":(OI)(CI)M /grant:r "Metrics Users":(OI)(CI)M

Desafortunadamente, con gran eficacia incluye gran complejidad. Como puede ver, sintaxis de icacls puede ser bastante impenetrable, al menos hasta que entienda cómo funcionan los permisos de Windows. Recuerde que un permiso individual se puede aplicar a un objeto única carpeta o al objeto más sus subcarpetas y archivos. Este es el concepto de herencia. Cuando se aplica el permiso Modificar simple dentro del explorador de GUI a una carpeta, como en la figura 2 , realmente se está aplicando a esa carpeta, así como todas las subcarpetas y archivos.

fig02.gif

Figura 2 aplicar permisos simples automáticamente establece la herencia para subcarpetas y archivos.

En la línea de comandos anterior, puede ver que para cada grupo, la M para modificar viene después (OI)(CI), que sustituir "heredar del objeto" y "contenedor heredan" respectivamente. Ambos son necesarios si desea que icacls para aplicar el sencillo modificar permisos. También observará que ": r" se agrega después del modificador /grant. Este modificador indica icacls borrar cualquier permisos aplicados directamente en el objeto antes de agregar los permisos que se establece en el command line.

Complejo, Sí, pero los permisos de Windows son complejas. Tenga en cuenta que el objetivo final, comandos reutilizables, realmente hará cosas mucho más sencillo.

Para continuar con el ejemplo, vamos a recorrer todo el conjunto de líneas de comandos de icacls que utilizaría para restablecer y aplicar correctamente los permisos establecidos para la estructura de carpeta de finanzas, así como su raíz:

Icacls C:\Shared /inheritance:r /grant:r "Domain Users":(OI)(CI)R /grant:r 
   "File Admins":(OI)(CI)F

Icacls C:\Shared\Finance /inheritance:r /grant:r "Finance Users":(OI)(CI)R /grant:r 
   "File Admins":(OI)(CI)F

Icacls C:\Shared\Finance\Budget /grant:r "Budget Users":(OI)(CI)M
Icacls C:\Shared\Finance\Metrics /grant:r "Metrics Users":(OI)(CI)M

La primera línea realmente realiza dos tareas. Se inicia con el "o herencia: r" modificador para quitar completamente heredados de todos los permisos de la carpeta anteriormente para que no hereda la carpeta compartida. Se interrumpe la herencia de la carpeta compartida desde la carpeta inmediatamente anterior. Una vez hecho esto, se establece el permiso de lectura para usuarios y el permiso Control total para administradores de archivos.

Porque no deseamos usuarios del dominio tengan acceso a la carpeta Finanzas en absoluto, línea dos saltos y borra la herencia de permisos una vez más. A continuación, se aplica el permiso Control total a los administradores de archivos y el permiso de lectura a usuarios de finanzas.

Con líneas tres y cuatro, nos no desea interrumpir la herencia de permisos porque tanto los administradores de archivos y los grupos de usuarios de finanzas, deben, se tienen el mismo acceso a estas subcarpetas. En estas dos líneas, simplemente se está concediendo otro permiso, junto con la existente hereda permisos, para que los usuarios de presupuesto y usuarios de métrica pueden escribir en estas carpetas.

Establecer permisos para la carpeta marketing es ligeramente diferente. Utilizamos el mismo flujo de permisos para la carpeta de producto como hicimos para las subcarpetas bajo Finanzas, pero la carpeta restringida se tratará un poco diferente. Supongamos dicha carpeta contiene documentos altamente secretas que deben verse por sólo una muy pocas personas. Su primer pensamiento puede ser, "A-ha! Aquí, usaré los permisos Denegar para evitar que los usuarios incorrectos obtengan acceso a esta carpeta!"

Pero tenga en cuenta que los permisos Denegar es realmente muy eficaz para la mayoría de las situaciones como reemplaza automáticamente todos los otros permisos. Por lo tanto, agregar el permiso Denegar al grupo usuarios de marketing para esta carpeta significa que cualquier restringidos los usuarios también son marketing los usuarios se podrían cerrar. Aquí una solución más apropiada es interrumpir la herencia de nuevo y simplemente eliminar todos los permisos para el grupo Marketing Users. Por lo tanto, las tres líneas de comandos de icacls necesarios para establecer permisos para esta estructura son

Icacls C:\Shared\Marketing /inheritance:r /grant:r 
  "Finance Users":(OI)(CI)R /grant:r "File Admins":(OI)(CI)F

Icacls C:\Shared\Marketing\Product /grant:r "Product Users":(OI)(CI)M

Icacls C:\Shared\Marketing\Restricted /inheritance:r /grant:r 
   "File Admins":(OI)(CI)F /grant:r "Restricted Users":(OI)(CI)M

Administrar permisos a través de tiempo

Por lo que tarda siete líneas en el símbolo del sistema para establecer permisos en esta estructura de carpeta simple. Que se parece mucho trabajo para realizar relativamente poco, pero tenga en cuenta su entorno de TI y cómo cambian cosas con el tiempo. ¿Cuántas veces ha configurado una estructura de carpeta, sólo para algunos administrador colegas inexpertos realizar cambios mientras está ausente? ¿Cuántas veces ha el departamento de soporte respondido a una llamada telefónica modificando ciegamente la estructura de permisos exquisitely diseñado en caprichos de un usuario? Se trata de problemas comunes que son especialmente difícil si su entorno tiene demasiadas personas con demasiado acceso. Si utiliza el mouse (ratón) y la GUI de Windows para mantener recta todas estas carpetas, es en para largas noches seguimiento de cambios.

Voy a ofrecerle una solución mucho mejor. Si pasa el tiempo adicional codificación por adelantado la estructura de permisos en una herramienta de línea de comandos como icacls, volver a aplicar esa estructura implica hacer doble clic poco más en un lote archivo. Una vez ha creado líneas como el siete anterior, mantenerlos alrededor para su uso posterior. Encontrará que resulta trivial para revertir la estructura de permisos a su estado deseado invocando simplemente esas líneas nuevo.

Si automatización integrada es más el estilo, icacls también le permite almacenar y volver a aplicar permisos. Una vez que haya aplicado el equivalente de las siete líneas anteriores, ejecute este comando:

icacls C:\Shared /save {fileName} /T

Icacls se analizar la estructura de permisos para C:\Shared y crear el archivo identificado en {fileName}. Como puede ver en la figura 3 , el contenido de este archivo se encuentra en un formato binario y, como resultado, el archivo no se debe abrirse en un editor de texto como Bloc de notas. Sin embargo, puede utilizar este archivo como para volver a aplicar los permisos en un momento posterior. La sintaxis de comando para volver a aplicar permisos a la misma carpeta es

fig03.gif

Figura 3 ’ Icacls guardar función crea un archivo que puede volver a aplicar permisos a una posterior Time.

icacls C:\Shared /restore {fileName} 

Con esto, dispone de una solución fácil de implementar para corregir los permisos cuando ha desviado de su diseño original.

Permisos de previsión

Como ha visto, icacls es muy útil para establecer y administrar permisos. Lo que no es tan importante en es permitirle ver la estructura de permisos. Si haya encontrado usted mismo recorrer el árbol de carpeta, haga clic con el botón secundario en cada carpeta y elija Propiedades para comprobar la ficha seguridad de cada objeto, sabe qué un dolor que es. Icacls tiene un mecanismo para ver los permisos, pero su herramienta es basado en texto y no totalmente útil. Si ejecuta el comando

icacls C:\Shared /t

icacls enumerará los permisos en cada objeto de la estructura de toda la carpeta; sin embargo, inspeccionando screenfuls de texto volar por ninguna forma de encontrar un perm roto.

Una idea mucho mejor es descargar la libre Herramienta de AccessEnum. AccessEnum es una aplicación muy simple que ayuda a visualizar los permisos asignados a una estructura de carpeta específica. Específicamente, cuando el destino AccessEnum a una carpeta nivel superior en un árbol de carpetas, la herramienta examina los archivos y carpetas debajo y los informes volver donde permisos son diferentes de la principal.

Esta vista basado en la diferencia de permisos le ayudará a encontrar donde se han configurado incorrectamente permisos. Funciona de la forma natural en la que se establecen permisos en una estructura de carpetas. Si observa al figura 1 , verá cómo bien diseñada lectura permisos normalmente fluyen hacia abajo desde el nivel superior. Modificar permisos se establecen en niveles específicos hacia abajo de la estructura como los usuarios cambian de los lectores a los colaboradores. Vista-diferencia de AccessEnum admite esta ocultando permisos que no cambian y sólo a los que hacer exponer. figura 4 muestra un ejemplo del aspecto vista del AccessEnum cuando aplica a la estructura de carpeta de ejemplo de esta columna.

fig04.gif

Figura 4 AccessEnum ayuda con visualizar la estructura de permisos.

El resultado neto de usar icacls y AccessEnum debe ser una aplicación más coherente de permisos dentro de los servidores de archivos. Un resultado más será un mayor nivel de seguridad de los datos, como se posible garantizar a los usuarios pueden sólo tener acceso a los archivos y carpetas que tengan sentido para ellos.

Esta breve descripción sólo toca la superficie de permisos de Windows y cómo se pueden aplicar. Mediante herramientas como icacls, puede establecer permisos aplicables a sólo una carpeta con no herencia a las carpetas siguientes, útil donde desea permitir el acceso en una sola capa. Puede establecer niveles de integridad de datos que requiere un tratamiento especial no importa qué controles discrecionales aplicar a. Puede incluso buscar archivos y permisos entre estructuras toda cuando sea necesario. Por lo tanto, obtener las manos desactivar que mouse e inicie arquitectura permisos desde el command line.

Greg Shields , MVP, es un socio en concentró Technology. Obtener más de Greg Jack-of-all-Trades sugerencias y trucos en www.ConcentratedTech.com.