En Windows, en modo gráfico es bastante sencillo ver los permisos de un directorio.
El problema es cuando queremos:
- Ver los permisos en terminal o Powershell.
- Ver la lista de directorios a los que tiene acceso un usuario (por ejemplo para comprobar que no accede a lo que no necesita en un servidor).
En esos casos el comando iCACLS es un gran aliado. Obviamente necesitamos un terminal con permisos de administrador O el Powershell.
Cómo usar iCACLS para ver los usuarios que tienen acceso a una carpeta.
Este es el uso más sencillo de iCACLS. Sólo tenemos que poner lo siguiente:
icacls c:\nombre_de_directorio
Estamos suponiendo que está en C: , si no cambiar la unidad.
Cómo usar iCACLS para ver las carpetas a las que tiene acceso un usuario.
Esto es muy útil en caso de gestionar carpetas compartidas o servidores. Os dejo dos opciones.
El primero va carpeta por carpeta y da dónde puede y dónde no puede.
icacls c:\* /findsid nombredeusuario /t /c /l
Esto muestra sólo dónde puede acceder. El segundo comando lo envía a un fichero (permisos.txt) en el directorio en que estés para su análisis posterior.
icacls c:\* /findsid nombredeusuario /t /c /l 2>nul:
icacls c:\* /findsid nombredeusuario /t /c /l 2>nul: >permisos.txt
Copiar los permisos de un directorio a otro con iCACLS
También puedes copiar los permisos de un directorio a otro. Sólo tienes que salvarlos a un fichero y exportarlos al directorio destino.
icacls C:\DirectorioOrigen\* /save c:\temp\Permisos_DirectorioOrigen_ACLs.txt /t
icacls C:\DirectorioDestino /restore c:\temp\Permisos_DirectorioOrigen_ACLs.txt
Cambiar los permisos de un directorio con iCACLS.
Obviamente también puede usarse como chomd y chown en Linux. Los permisos son:
- D — delete access;
- F — full access;
- N — no access;
- M — modify access;
- RX — read and eXecute access;
- R — read-only access;
- W — write-only access.
Os dejamos ejemplos.
- Permisos para editar a Pepe:
icacls C:\Directorio /grant Pepe:M - Permisos para editar el grupo Secretaria del dominio en el directorio y todos los subdirectorios y ficheros
icacls “C:\Directorio” /grant dominio\Secretaria:F /Q /C /T - Quitarle todos los permisos a Pepe
icacls C:\Directorio /remove Pepe - Deshabilitar permisos heredados:
icacls c:\Directorio /inheritance:d - Deshabilitar permisos heredados y quitar los que tiene:
icacls c:\Directorio /inheritance:r - Habilitar permisos heredados:
icacls c:\Directorio /inheritance:e - Cambiar el dueño de un directorio
icacls c:\Directorio /setowner Pepe /T /C /L /Q
Obviamente todo esto y combinaciones se pueden hacer en scripts para automatizarlo.
Os recomendamos los siguientes productos relacionados con la informática: