How-to User Privileges in Qinsy
Introduction
This document contains some information on the required user privileges and user rights when using Qinsy 9.6 and newer versions to perform certain tasks.
Special User Privileges
The following user privileges may be required in certain situations. Below you will find a table with the affected privileges and the use cases in which they may be required.
User Privilege | User Privilege Description | Use Case |
---|---|---|
SeSystemtimePrivilege | Change the system time | When using certain 'Time Synchronization' systems Qinsy offers the option to synchronize the system time with the Qinsy PPS time. This action is performed by the 'Controller.exe' process. Optionally this action is also performed by the 'ClientController.exe' process. |
SeShutdownPrivilege | Shut down the system | When using certain I/O drivers the driver has the capability to initiate a shutdown of the system. Current the following drivers have this capability:
The actual shutdown of the system is performed by the 'Controller.exe' process. |
SeIncreaseBasePriorityPrivilege | Increase scheduling priority | When using certain I/O drivers it may be required to give these drivers more CPU time. This is accomplished by increasing the process base priority. |
Functional User Rights
Below you will find information on the user rights required to enable certain functionality.
Remote Display Client Functionality
The remote display client functionality is implement by two processes:
SocketServer.exe |
|
ClientController.exe |
|
In order to implement the functionality described in the table above the SocketServer/ClientController need to perform the following tasks:
User Right Description | Use Case |
---|---|
Created Shared File Folders | When using the Remote Display functionality of Qinsy it is necessary to share certain files from the online system to the remote display systems. To share these files some shared file folders are created on the online system by the the 'SocketServer.exe' process. |
Read data from | When using the Remote Display functionality of Qinsy it is necessary to access certain files on the online system in order to display the information on the remote display. To access these files several display processes need to:
|
Listen for a | In order to allow the 'ClientController.exe' process to connect to the 'SocketServer.exe' process the 'SocketServer.exe' process needs to listen on a certain network port for new connections. The base network port on which the 'SocketServer.exe' process is listening is controlled through a setting in the 'SocketServer.exe' process. The 'SocketServer.exe' process will listen on the 'base network port' number and on the 'base network port + 1' number. Once the connection is established the communication is offloaded on another network connection of which the port numbers are issued by the operating system based on availability. |
Initiate a | In order to allow an 'ClientController.exe' process to establish a connection to the 'SocketServer.exe' process the 'ClientController.exe' process needs to initiate a new connection. The base network port to which the 'ClientController.exe' process is connecting is controlled through a setting in the 'ClientController.exe' process. The 'ClientController.exe' process will initiate a connection on the 'base network port' number and on the 'base network port +1' number. Once the connection is established the communication is offloaded on another network connection of which the port numbers are issued by the operating system based on availability. |
Send data via a | In order to allow the 'SocketServer.exe' & 'ClientController' processes to exchange data both the 'SocketServer.exe' & 'ClientController' processes need to send data via a TCP socket. |
Receive data via a | In order to allow the 'SocketServer.exe' & 'ClientController' processes to exchange data both the 'SocketServer.exe' & 'ClientController' processes need to receive data via a TCP socket.Syn |
Change system time | In order to allow the 'ClientController.exe' process to synchronize the system time on the Remote PC to the system time on the Online PC it requires the SeSystemtimePrivilege privilege. If the user account is a member of the Local Administrators group the 'Console.exe' process will attempt to start the 'ClientController.exe' elevated to make this functionality available tot the user. |
I/O Drivers
In order to allow the exchange of information between I/O Sensors (the actual measurement devices) and I/O Drivers (the Qinsy component responsible for converting the information) an I/O Driver need to perform certain tasks. The actual tasks per I/O Driver depend on the exactly mechanism that is implemented by the I/O Sensor. More information may be found in the I/O Driver specific entry in the Drivers Manual. The tasks that may be required are listed below:
TCP based connections
Listen for a | In order to allow an I/O Sensor to establish a connection to its corresponding I/O Driver the I/O driver needs to listen for new connections. The network port on which the I/O Driver is listening is normally controlled through a setting in the Database Setup program. Once the connection is established the communication is offloaded on another network connection of which the port numbers are issued by the I/O driver's operating system based on availability. |
Initiate a | In order to allow an I/O Driver to establish a connection to its corresponding I/O Sensor the I/O Driver needs to initiate a new connection. The network port on the I/O Sensor to which this connection is initiated is normally controlled through a setting in the Database Setup program. Once the connection is established the communication may be offloaded on another network connection of which the port numbers are issued by the I/O Sensor's operating system based on availability. |
Send data via | In order to allow the I/O Driver to exchange data with the I/O Sensor they may need to send data via a TCP socket. |
Receive data via | In order to allow the I/O Driver to exchange data with the I/O Sensor they may need to receive send data via a TCP socket. |
UDP based connections
Send data via | In order to allow the I/O Driver to exchange data with the I/O Sensor it may need to send data via an UDP socket. The IP number and network port to which the I/O Driver is sending the data is normally controlled through I/O driver specific settings in the Database Setup program. |
Receive data via | In order to allow the I/O Driver to exchange data with the I/O Sensor it may need to receive data via an UDP socket. The IP number and network port from which the I/O Driver is receiving the data is normally controlled through I/O driver specific settings in the Database Setup program. |
OPC Client
Registration and Unregistering of the OpcClient is done by the MSI and requires administrative privileges. Only one instance of the 'OpcClassicServer.exe' component may be registered within the Windows OS.
Administrative privileges are required to run these commands.
Registering the driver | <Install location>\OpcClassicServer.exe" /regserver |
Unregistering the driver | <Install location>\OpcClassicServer.exe" /unregserver |
Squire Server
During installation
Right description | Use case |
---|---|
Open ports on the firewall | Squire needs to be able to open a HTTP port for the SVM and other clients to connect to. Squire communicates with PostgreSQL using port 5438 on localhost. A number of applications can communicate with Squire over port 7834:
|
Schedule a Task | Use This task starts a VB script which launches the correct version of |
During runtime
Right description | Use case |
---|---|
Open a TCP server port | The HTTP server listens on port 7834. The PostgreSQL server listens on port 5438. |
Start another executable | Squire needs to start up |
Create and write | PostgreSQL needs to initialize and use a database in a given folder. For this, files and subfolders need to be created and modified. In current installations, this is under |
HelpServer
From Qinsy 9.7.0 our contextual help system relies on a .NET server.
During installation
Right description | Use case |
---|---|
Open ports on the firewall | The HelpServer needs to be able to open a HTTP port for all clients to connect to: port 7027. |
Add, remove, start or stop a service | Use When uninstalling, the service is stopped |
During runtime
Right description | Use case |
---|---|
Open a TCP server port | The HTTP server listens on port 7027. |
Create and write | The HelpServer will write indexing files in the LocalAppData folder. |
Proxy.exe Process
Runtime
Open a TCP socket | Data communication happens on:
|