Check the new version here

Popular channels

Permisos remotos a carpetas Windows

Puede ocurrir que como administradores tenemos varios equipos en una red y queremos dar accesos de lectura o escritura a carpetas o archivos a todos los equipos, de una manera centralizada sin tener que ingresar a cada equipo.



En este articulo voy a mostrar un ejemplo de cómo automatizar este proceso haciendo uso del comando icalcs de Windows.

Primero crearemis dos scripts, uno para permitir (grant.bat) y otro para denegar (deny.gat) permisos en Windows:

deny.bat:

@echo off
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-0OI)(CI)(F) /Q
if %d%==f icacls.exe %ruta% /deny *S-1-1-0F) /Q
exit

En este batch pasamos la ruta de la carpeta o archivo, cambiamos el propietario al grupo de administradores, y le activamos la herencia.

grant.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
if %her%==d icacls.exe %ruta% /inheritance:d
if %d%==d icacls.exe %ruta% /t /grant *S-1-1-0
if %d%==f icacls.exe %ruta% /grant *S-1-1-0
exit

En este script también pasamos la ruta de la carpeta o archivo, cambiamos el propietario al grupo de administradores, se aplica recursividad si es un directorio, y se puede activar o no la herencia sobre los archivos o directorios al interior del recurso principal.

Miremos ahora cómo usar estos dos scripts:

A. Para no permitir el acceso:

Comando:

> deny.bat “

: Ruta completa del directorio o archivo al que se le modificarán los permisos.
: Dirección IP de la máquina remota
: Se indica si se habilita(e) o deshabilita (d) la herencia de permisos de la carpeta padre.
: Se indica si se va a trabajar con los permisos de un directorio (d), o de un archivo (f). Si es un directorio, los permisos se heredan hacia los objetos internos a él.


He aquí un ejemplo:

> deny.bat “192.17.0.11d$testt.doc” 192.17.0.11 d f

No se permite acceso a la carpeta D:test, en la máquina 192.17.0.11, indicando que se no se usará herencia (d), y que se trata de un archivo.

B. Para conceder acceso a una carpeta o archivo

Comando:

> grant.bat “

: Ruta completa del directorio o archivo al que se le modificarán los permisos.
: Dirección IP de la máquina remota
: Se indica si se habilita(e) o deshabilita (d) la herencia de permisos de la carpeta padre.
: Se indica si se va a trabajar con los permisos de un directorio (d), o de un archivo (f). Si es un directorio, los permisos se heredan hacia los objetos internos a él.

Este es un ejemplo para dar permisos:

> grant.bat “182.17.20.10d$test” 182.17.20.10 d d

Se permite el acceso de lectura y escritura a la carpeta D:test, en la máquina 182.17.20.10, deshabilitando la herencia (d) y se indica que se trata de un directorio (d).

En este ejemplo se simplifica el tema indicando acceso o no a los recursos, pero se pueden hacer cambios más específicos con los modificadores del comando icalcs para dar permisos más específicos.

El uso de esta facilidad permite automatizar procesos que pueden ser muy engorrosos para los administradores de una red, permitiendo ahorrar tiempo y costos para hacer cambios en los permisos de computadores remotos.
0
0
0
0No comments yet