> For the complete documentation index, see [llms.txt](https://riteshs4hu.gitbook.io/infosec-notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://riteshs4hu.gitbook.io/infosec-notes/internal-and-external-network-sec/privilege-escalation/windows/essential-commands/file-and-folder-permission.md).

# File and Folder Permission

### `icacls` – Check and Manage File/Folder Permissions

**Syntax:**

```cmd
icacls <file_or_directory> [options]
```

***

#### **Check Permissions**

* View permissions for a file:

  ```cmd
  icacls file.txt
  ```
* View permissions for a folder:

  ```cmd
  icacls C:\Path\To\Folder
  ```
* Recursively view permissions for a directory and all subitems:

  ```cmd
  icacls C:\Path\To\Folder /T
  ```

***

#### **Save and Restore Permissions**

* Save current permissions to a file:

  ```cmd
  icacls C:\Path\To\Folder /save perms.txt /T
  ```
* Restore permissions from a saved file:

  ```cmd
  icacls C:\ /restore perms.txt
  ```

***

#### **Grant/Revoke Permissions**

> *Note: Administrator privileges required for modifying permissions.*

* Grant full control to a user:

  ```cmd
  icacls file.txt /grant username:F
  ```
* Grant read-only access:

  ```cmd
  icacls file.txt /grant username:R
  ```
* Revoke all permissions for a user:

  ```cmd
  icacls file.txt /remove username
  ```

***

#### **Reset Permissions**

* Reset all ACLs to inherited defaults:

  ```cmd
  icacls file.txt /reset
  ```
* Reset folder and all contents:

  ```cmd
  icacls C:\Path\To\Folder /reset /T
  ```
