Puede ocurrir que como administradores de una red tenemos varios equipos en una LAN y queremos dar permisos remotos de lectura o escritura a carpetas o archivos de computadores, sin tener que ingresar a cada equipo localmente o por acceso remoto RDP. Esta actividad es posible realizarla mediante el uso del comando icalcs de Windows. En este articulo voy a mostrar un ejemplo de cómo automatizar el proceso de permisos remotos carpetas Windows haciendo uso esencialmente de esa utilidad.
Primero vamos a crear dos scripts, uno para permitir (grant.bat) y otro para denegar (deny.gat) permisos:
- deny.bat:
set ruta=%1
set ip=%2
set her=%3
set d=%4
if %d%==d takeown /S %ip% /A /r /f %ruta% /D «S»
if %d%==f takeown /S %ip% /A /f %ruta%
if %her%==e icacls.exe %ruta% /inheritance:e /Q
if %her%==d icacls.exe %ruta% /inheritance:d /Q
if %d%==d icacls.exe %ruta% /deny *S-1-1-0:(OI)(CI)(F) /Q
if %d%==f icacls.exe %ruta% /deny *S-1-1-0:(F) /Q
exit
En este script pasamos la ruta de la carpeta o archivo al cual le vamos a denegar permisos, cambiamos el propietario al grupo de administradores, y le activamos la herencia si queremos que el permiso se aplique a los directorios o archivos internos.
- grant.bat
set ip=%2
set her=%3
set d=%4
if %d%==d takeown /S %ip% /A /r /f %ruta% /D «S»
if %d%==f takeown /S %ip% /A /f %ruta%
if %her%==e icacls.exe %ruta% /inheritance:e
if %her%==d icacls.exe %ruta% /inheritance:d
if %d%==d icacls.exe %ruta% /t /grant *S-1-1-0:F
if %d%==f icacls.exe %ruta% /grant *S-1-1-0:F
exit
En este batch también pasamos la ruta de la carpeta o archivo al cual le vamos a dar permisos de lectura y escritura, cambiamos el propietario al grupo de administradores, aplicando recursividad si es un directorio, y finalmente también le activamos la herencia si queremos que el permiso se aplique a los directorios o archivos internos.
Ahora vamos a mostrar cómo usar estos dos scripts:
- Para denegar acceso a una carpeta o archivo
Comando:
Ejemplo:
Se deniega acceso a la carpeta D:\test, en la máquina 172.17.0.10, indicando que se deshabilite la herencia (d), y que se trata de un archivo.
- Para conceder acceso a una carpeta o archivo
Comando:
Ejemplo:
Se permite el acceso a la carpeta D:\test, en la máquina 172.17.0.10, deshabilitando la herencia (d) y que se trata de un directorio (d).
Estas facilidades permiten automatizar procesos engorrosos de los administradores de red, ya sea de una oficina, de una sala de computadores o sitios similares, permitiendo ahorrar tiempo y costos para hacer cambios en los permisos remotos de computadores.
En ITSoftware SAS colaboramos con las empresas en el desarrollo de procesos de automatización para actividades como ésta, en la que el uso de la tecnología adecuada sirve para mejorar procesos, tiempo y costos a las organizaciones.