File System Security PowerShell Module
Módulo de Powershell para la gestión de los permisos del sistema de ficheros
Hasta el momento el manejo de permisos NTFS de ficheros con los commandlets de Powershell es bastante enrevesado debido a que los permisos de windows son de por sí complicados de manejar.
Para configurar estos permisos de manera bastante más sencilla y eficiente tenemos la posibilidad de descargar e instalar un módulo llamado System Security Powershell Module. Se puede descargar e importar para versiones inferiores de Windows Server 2016 o bien si Tenemos Windows Server 2016 está incluido en WMF 5.0 (Windows Management Framework).
Para el caso de que Dicho modulo se deba descargar debemos copiar el contenido del mismo descomprimido en la ruta
%Windir%\System32\WindowsPowerShell\v1.0\Modules
Verificamos su disponibilidad mediante:
Get-Module -ListAvailable
Suponiendo que el módulo aparezca en la lista se debe importar mediante:
Import-Module NTFSSecurity
Este módulo proporciona nuevos commandlets para gestionar los permisos del sistema de ficheros, añadir y quitar ACE’s (entradas de control de acceso), administrar la herencia, obtener los permisos actuales de un usuario o incluso obtener los permisos efectivos del mismo.
Ahora la asignación de permisos se puede hacer en una sola línea. Ej.:
Get-NTFSAccess -path C:\carpeta
Este comando muestra que usuario o grupos tienen acceso a dicha carpeta y el tipo de acceso que tienen.
Add-NTFSAccess -path c:\carpeta -account sistemas1 -AccessRights FullControl
Este comando crearía una ACE asignando al usuario sistemas1 control total a c:\carpeta
Para eliminar permisos NTFS usamos Remove-NTFSAccess se debe especificar la ruta de acceso, el nombre de cuenta y los derechos que desea eliminar. Por ejemplo, si queremos quitar el permiso FullControl a sistemas 1, podemos utilizar la siguientes expresión
Remove-NTFSAccess -path C: \Carpeta -Sistemas1 -AccessRights FullControl
Los permisos que se quieren borrar para Sistemas1 deben ser los que tienen realmente, si explicitamos otros tipos de permisos distintos a los que realmente tiene el comando no hará nada. Para evitar tener problema con esto podemos utilizar las redirecciones (pipe)
El comando quedaría entonces así:
Get-NTFSAccess -path C: \carpeta -Sistemas1 | Remove-NTFSAccess
De esta manera estaríamos quitando el permiso que tuviera sistemas1 sobre la carpeta.
Hay muchos más cmdlets que facilitan el tratamiento de los permisos NTFS (Add-Ace,Get-Ace…)
Además en WS2016 WMF 5.0 incluye también otro modulo llamado ACLReportTools que utiliza el modulo anterior y hace reportes de las ACL’s de ficheros carpetas y carpetas compartidas comparándolos con versiones anteriores de los mismos objetos. Esto es útil para el administrador para saber cuánto han cambiado las ACL’s.
Luis Fernando Sanchez Rodriguez
Alumno del curso Microsoft MCSA/MCSE
Centro: Tajamar
Año académico: 2016-2017