---
title: Control Role
weight: 18
description: "Configure Control Roles in RustDesk Server Pro to define what remote operators can do after a connection is established. Compare Control Roles with Access Control and Strategy."
keywords: ["rustdesk control role", "rustdesk remote permissions", "rustdesk server pro control role", "rustdesk access control vs strategy", "rustdesk remote control policy"]
---

Use Control Roles to define what a user is allowed to do during a remote session in RustDesk Server Pro.

Control Role allows you to configure remote control permissions for different users. When a user remotely controls another device, the Control Role defines what operations the controlling user is allowed to perform after a connection is established.

## When should you use a Control Role?

Use a Control Role when you want to limit what an operator can do after connecting to a remote device. This is the right feature for decisions such as whether the operator can transfer files, use the clipboard, open a terminal, restart the remote device, or modify remote configuration.

## Control Role quick answers

- Control Roles affect in-session actions after a connection is established
- They do not decide whether the connection is allowed in the first place
- Each user can have only one Control Role
- Control Role permissions can override local permission settings on the controlled device
- The built-in `Not Logged` and `Default` roles cover users without an assigned custom role

{{% notice note %}}
**Control Role vs Access Control vs Strategy**

- **Control Role**: Determines what operations the controlling user is allowed to perform after a connection is established.
- **Access Control**: Determines whether a connection can be established between the controlling and controlled devices.
- **Strategy**: Modifies settings on the controlled device.
{{% /notice %}}

## Requirements

- Controlled device: RustDesk **1.4.5** or above (Android controlled device is not supported yet)
- Controlling device: No version requirement

## Permission Calculation

### How Permissions Work

In short: Control permissions take priority over local settings.

There are two sources of permission settings:

- **Local Settings on the controlled side**: The controlled device's settings (Settings → Security → Permissions)
- **Control Permission**: The controlling user's Control Role permissions (configured in web console)

Each permission has three states:

- **Use Client Settings**: No override, use the controlled device's local setting
- **Enable**: Explicitly enable this permission (overrides local setting)
- **Disable**: Explicitly disable this permission (overrides local setting)

Permissions are calculated at the session level:

| Control Permission | Local Settings | Result |
|---|---|---|
| Enable | Enable | Enable |
| Enable | Disable | **Enable** |
| Disable | Enable | **Disable** |
| Disable | Disable | Disable |
| Use Client Settings | Enable | Enable |
| Use Client Settings | Disable | Disable |

**Special case: Remote Configuration Modification**

When multiple controlling users are connected to the same device, the "Remote Configuration Modification" permission is calculated across all connections:

| All Connections' Control Permission | Result |
|---|---|
| Any Disable | **Disable** |
| No Disable, Any Enable | **Enable** |
| All Use Client Settings | Use local setting |

### Which Role Applies

Each user can only have one Control Role assigned. There are two built-in roles:

| Role | Description |
|------|-------------|
| **Not Logged** | For controlling users who are not logged in. Cannot be assigned to users. |
| **Default** | For logged-in controlling users who have no Control Role assigned, or are explicitly assigned to the Default role. |

The Control Role applied depends on the controlling user's login status and role assignment:

| Controlling User Status | Assigned Role | Which Role / Role Status | Applied Control Role |
|---|---|---|---|
| Not logged in | - | Not Logged / Enabled | Not Logged |
| Not logged in | - | Not Logged / Disabled | - |
| Logged in | Has assigned role | Assigned role / Enabled | Assigned role |
| Logged in | Has assigned role | Assigned role / Disabled | - |
| Logged in | No assigned role | Default / Enabled | Default |
| Logged in | No assigned role | Default / Disabled | - |

## Available Permissions

The 12 controllable permissions correspond to the controlled device's Settings → Security → Permissions:

- Keyboard/Mouse
- Remote Printer
- Clipboard
- File Transfer
- Audio
- Camera
- Terminal
- TCP Tunnel
- Remote Restart
- Recording Session
- Block User Input
- Remote Configuration Modification

## Console Operations

### Creating a Role

1. Navigate to **Control Roles** page and click **Create**
2. Enter a **Name** for the role
3. Select the **Permissions** to grant

![](/docs/en/self-host/rustdesk-server-pro/control-role/images/control-role-create-name.png)
![](/docs/en/self-host/rustdesk-server-pro/control-role/images/control-role-create-permission.png)

### Role Assignment

There are two ways to assign Control Roles to users:

1. **Users page** → Click **Edit** on a user → Select a role in the **Control Role** field
2. **Control Roles page** → Click the **user count** or **Assign Users** → Add or remove users from the role

![](/docs/en/self-host/rustdesk-server-pro/control-role/images/control-role-assign-user-page.png)
![](/docs/en/self-host/rustdesk-server-pro/control-role/images/control-role-assign-role-page.png)

{{% notice note %}}
The "Not Logged" role cannot be assigned to users (it only applies to non-logged-in connections).
{{% /notice %}}
