Para aquellos que usan el sistema operativo Windows, pueden usar el equivalente a chmod, que es el comando icacls. Para dar permisos de lectura, escritura y ejecucion a un usuario en un archivo o carpeta, se usa el siguiente comando:
icacls
Mostrará una lista de opciones
Para el ejemplo utilzare cuatro archivos para leer, escribir, ejecutar y sin acceso
Como se puede ver utilzando el chmod del wsl se muestra que los archivos en acceso total (F) que vendria a ser equivalente a chmod 777
Utilizaremos el nombre del usuario y permisos es una combinación de R, W y X, que representan los permisos de lectura, escritura y ejecución.
Utilizaremos la siguiente sintaxis:
icacls <nombre_archivo> /grant <nombre_usuario>:<permisos>
Donde archivo o carpeta es el archivo o carpeta que queremos dar permisos y usuario es el usuario al que le queremos dar permisos. En este caso, le estamos dando permisos de lectura, escritura y ejecución al usuario.
Para eliminar permisos explicitos, se usala opcion /reset, que se usa de la siguiente manera:
# Restablece el archivo para eliminar permisos explícitos
icacls .\archivo1.txt /reset
Para dar el permiso explicito al usuario actual, se usa el comando icacls, seguido de la ruta del archivo o carpeta, seguido de la opción /grant:r, seguido del nombre del usuario actual, seguido de los permisos que queremos darle. Por ejemplo, para dar permisos de lectura, escritura y ejecución al usuario actual en el archivo archivo1.txt, se usa el siguiente comando:
# Dar permiso explícito al usuario actual
icacls .\archivo1.txt /grant:r "$($env:username):(R)"
- F : acceso completo
- R : acceso de solo lectura
- W : acceso de solo escritura
- X : acceso de solo ejecución
- RX : lectura y ejecución del acceso
# Deshabilita la herencia y elimina los permisos heredados
icacls .\archivo1.txt /inheritancer:r
- r : Quita todas las ACE heredadas del archivo o carpeta
- ACE : Entradas de control de acceso
Para quitar permisos de lectura, escritura y ejecución a un usuario en un archivo o carpeta, se usa el siguiente comandos:
icacls <nombre_archivo> /reset
icacls <nombre_archivo> /inheritancer:r