El problema está en que este mecanismo es muy ineficiente. Supongan que les piden los permisos asociados a 10 carpetas... debemos hacer click derecho sobre cada carpeta. Cómo guardamos esta información? si es con screenshots, con suerte necesitamos hacer dos screenshots por cada carpeta (no entran todos los permisos en un solo screenshot...), si es escribiendo los permisos en un archivo, también es muy ineficiente.
Lo mismo sucede con listar usuarios, listar los grupos de un usuario y listar los usuarios en un grupo. Todas son tareas que hacerlas gráficamente es extremadamente molesto.
Fue así como di (gracias a nuestro administrador de dominio), con el paquete "Resource Kit" para Windows. Este paquete incorpora todas las herramientas que un servidor Windows debería traer, pero que los ratas de MS no incorporaron y vendían aparte (si, el "Resource Kit" es de MS y lo vendían por separado)...
En fin, este set de herramientas es muy útil y permiten administrar el dominio de forma rápida y automatizada desde programitas de consola, volcar información en archivos de texto y varias cosas más.
Como dije en la introducción, me interesa la parte de listar permisos y usuarios, así que describiré cómo hacerlo con la herramienta correspondiente del "Resource Kit".
Listar permisos de un directorio
Para esto utilizamos el programa showacls. showacls muestra los permisos utilizando la siguiente terminología:
A Generic AllEl uso de este programa es el siguiente:
R Generic Read
W Generic Write
X Generic Execute
w File Write
fx File Execute
rE Read EA
l List Directory
d Read Data
S Synchronize
r File Read
a File Append
D Delete
rW Write EA
showacls /s /u:domain\user filespec /?donde:
/s incluye sub-directories.Ej:
/u especifica el usuario (y el dominio) del cual se mostrará la información
filespec especifica los archivos y directorios en los cuales el usuario tiene permisos
/? muestra la ayuda
showacls \\servidor\C$
Listar miembros de un grupo
En este caso usamos el programa showmbrs. El uso es el siguiente:
showmbrs dominio\grupo oEj:
showmbrs \\dominio\grupo o
showmbrs grupo
showmbrs midominio\”Domain Admins”
Listar miembros de grupos locales de una máquina
Aca nos da una mano el programa "local" del paquete "Resource Kit". El uso es el siguiente:
local group_name domain_name | \\serverEj:
group_name el nombre del grupo local a listar los miembros
domain_name el nombre del dominio
\\server el nombre del servidor
local Administrators \\192.168.1.1
Listar grupos a los que pertenece un usuario
Finalmente utilizando el programa showgrps podemos listar los grupos de un usuario. El uso es el siguiente:
showgrps [/A] dominio\usuario oEj:
showgrps [/A] usuario
/A – checkear todos los dominios confiables
showgrps midominio\miusuario
Flexibilidad
Utilizar programas desde consola nos brinda gran flexibilidad. Si bien la consola de Windows es asquerosamente limitada, nos permite funciones básicas que nos ayudan. Por un lado podemos redirigir la salida a archivos al igual que en Linux con el caracter ">". Por ej, podemos guardar en un archivo los permisos de una dada carpeta de la siguiente forma:
showacls \\servidor\C$ > permisos.txt
Además es posible crear scripts que realicen tareas programadas para cierto día. Tal vez listar los usuarios el último día del mes.
Por otra parte, por suerte MS creó una shell más completa que el clásico cmd.exe, llamada PowerShell. Igual no llega a los talones a ninguna de las shells *nix, como bash o ksh, pero bueno, algo es algo.
Trabajo Futuro
Mi idea inicial era utilizar herramientas de GNU/Linux como ldapsearch para obtener esta información, pero desgraciadamente no pude arreglar un problema de binding con el server ldap... seguiré buscando alguna alternativa que me sirva. Voy a probar un poco el paquete python-ldap y ver si puedo programar algo propio.
Si alguno conoce una alternativa GNU/Linux que cubra las necesidades planteadas en el artículo, por favor dejenme un comentario, o escriban en el "muro" de facebook
2 comentarios:
Quisiera saber por qué mis libros no han sido anunciados, por lo menos en portada, por LITNAR.
Quisiera saber por qué mis libros no han sido anunciados, por lo menos en portada, por LITNAR.
Publicar un comentario