Executing commands
Execute command on a single client
Last updated
Execute command on a single client
Last updated
The execution of commands must be allowed in the rport client configuration file /etc/rport/rport.conf
on Linux or C:\Program Files\rport\rport.conf
on Windows.
You can create a list of allowed commands and a list of disallowed commands. This allows fine-grained filtering.
See all configuration options and more configuration examples.
Allowing remote command without restrictions makes the RPort server very powerful. Persons who have access to the RPort server API or the webinterface can take full controll over connected clients. 👉 It's highly recommended to use two-factor authentication.
It is possible to execute multiple commands. On Windows, you must concatenate the commands with a single ampersand &
. On Linux, you can use line breaks or the semicolon.
Bear in mind that the concatenation signs &
, ;
, must be allowed by the regular expression on the command restrictions.
If you only want to allow a limited set of commands, pay special attention to the deny rules. Look at the following example.
These rules are leading to an unrestricted command execution because systemctl (status|restart)
can be followed by any character. For example, systemctl status cron;poweroff
is possible. If you want to allow just single command but with parameters, you must deny all characters that allow command concatenation.
Command are always executed on the cmd.exe
shell of Windows. To execute a PowerShell command, you must prefix the command with powershell
, for example, powershell "Get-Service spooler"
.
If you only want to allow restarting any service via PowerShell change your configuration as follows.
While the PowerShell is case insentive, the regular expression for the filtering are not. They are case sensitive and the commands must by typed in with the correct capitalization.