Zum Inhalt springen

/etc/xrdp/xrdp.ini: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(29 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
dirkwagner@shell:~$ sudo cat /etc/xrdp/xrdp.ini
'''/etc/xrdp/xrdp.ini''' - Konfigurationsdatei des [[XRDP]]-Listeners
[Globals]
; xrdp.ini file version number
ini_version=1


; fork a new process for each incoming connection
== Beschreibung ==
fork=true
[[/etc/xrdp/xrdp.ini]] definiert globale Eigenschaften des [[XRDP]]-Dienstes
{| class="wikitable options big"
| Netzwerk-Listener ||
* Port
* Bind-Interface
|-
| Sicherheitslayer ||
* TLS/RDP
|-
| Logging ||
|-
| Feature-Kanäle ||
* Clipboard
* Laufwerke
* Audio
|-
| Sitzungsdefinitionen ||
|}


; ports to listen on, number alone means listen on all interfaces
== Aufbau ==
; 0.0.0.0 or :: if ipv6 is configured
; Sektionen
; space between multiple occurrences
{| class="wikitable options big"
; ALL specified interfaces must be UP when xrdp starts, otherwise xrdp will fail to start
|-
;
! Parameter !! Beschreibung
; Examples:
|-
;  port=3389
| [Globals] || Listener, Security, Performance-Flags, Laufzeit-User
;  port=unix://./tmp/xrdp.socket
|-
;  port=tcp://.:3389                          127.0.0.1:3389
| [Logging] || Logziele und Loglevel
;  port=tcp://:3389                            *:3389
|-
;  port=tcp://<any ipv4 format addr>:3389      192.168.1.1:3389
| [Channels] || Aktivierung einzelner virtueller Kanäle
;  port=tcp6://.:3389                          ::1:3389
|-
;  port=tcp6://:3389                          *:3389
| [Xorg]/[Xvnc] || weitere – Connection sections
;  port=tcp6://{<any ipv6 format addr>}:3389  {FC00:0:0:0:0:0:0:1}:3389
|}
;  port=vsock://<cid>:<port>
port=3389


; 'port' above should be connected to with vsock instead of tcp
== Sektionen ==
; use this only with number alone in port above
=== [Globals] ===
; prefer use vsock://<cid>:<port> above
{| class="wikitable sortable options big"
use_vsock=false
|-
! Parameter !! Werte / Beispiel !! Beschreibung
|-
| ini_version || 1 || Marker für das Konfigurationsformat. Wird meist durch Paketmaintainer gesetzt
|-
| port || 3389<br/>tcp://:3389<br/>tcp://10.0.0.1:3389 || Listener-Endpunkt. Abhängig von Release werden Schemas unterstützt (z.B. tcp/tcp6/unix/vsock)
|-
| address || 127.0.0.1 / 10.0.0.1 || Bind-Adresse (Legacy/Distribution). Wenn verfügbar, wird der Listener auf ein Interface begrenzt
|-
| tcp_nodelay || true/false || Reduziert Latenz (TCP_NODELAY).
|-
| tcp_keepalive || true/false || Keepalive für lange TCP-Sessions (SO_KEEPALIVE)
|-
| security_layer || tls / rdp / negotiate || Security-Modus. ''negotiate'' wählt abhängig vom Client
|-
| crypt_level || none/low/medium/high/fips || Verschlüsselungsstufe für Classic-RDP-Security (wirksam bei ''security_layer=rdp'' oder teils ''negotiate'')
|-
| certificate || /etc/xrdp/cert.pem || TLS-Zertifikat (PEM)
|-
| key_file || /etc/xrdp/key.pem || TLS-Private-Key (PEM)
|-
| ssl_protocols || TLSv1.2,TLSv1.3 || Erlaubte TLS-Protokolle (bei TLS/Negotiation)
|-
| tls_ciphers || <OpenSSL-Cipher-String> || Cipher-Suite-Auswahl für TLS (OpenSSL-Syntax)
|-
| allow_channels || true/false || Globale Freigabe virtueller Kanäle. Bei ''false'' werden Kanäle effektiv blockiert
|-
| max_bpp || 8/15/16/24/32 || Maximale Farbtiefe
|-
| bitmap_cache || true/false || Bitmap-Caching zur Performance-/Bandbreitenoptimierung.
|-
| bitmap_compression || true/false || Bitmap-Kompression (reduziert Bandbreite, erhöht CPU)
|-
| bulk_compression || true/false || Kompression von Bulk-Daten
|-
| use_fastpath || none/input/output/both || FastPath-Optimierung (Performance)
|-
| domain_user_separator || \\, @, + || Trennzeichen für Domain/Realm im Username
|-
| runtime_user || xrdp || Laufzeit-User des Dienstes (wenn im Setup genutzt)
|-
| runtime_group || xrdp || Laufzeit-Gruppe des Dienstes (wenn im Setup genutzt)
|}


; regulate if the listening socket use socket option tcp_nodelay
; Hinweis
; no buffering will be performed in the TCP stack
* ''key_file'' muss restriktiv berechtigt sein, aber für den XRDP-Prozess lesbar bleiben
tcp_nodelay=true


; regulate if the listening socket use socket option keepalive
=== [Logging] ===
; if the network connection disappear without close messages the connection will be closed
{| class="wikitable sortable options big"
tcp_keepalive=true
|-
! Parameter !! Werte !! Beschreibung
|-
| LogFile || xrdp.log<br/>/var/log/xrdp.log || Logdatei (relativ oder absolut Pfad)
|-
| LogLevel || ERROR/WARN/INFO/DEBUG || Detailgrad der Datei-Logs
|-
| EnableSyslog || true/false || Syslog-Logging aktivieren
|-
| SyslogLevel || ERROR/WARN/INFO/DEBUG || Detailgrad für Syslog
|-
| EnableConsole || true/false || Console-Logging (Debugging)
|-
| ConsoleLevel || ERROR/WARN/INFO/DEBUG || Detailgrad der Console-Logs
|-
| EnableProcessId || true/false || PID in Logzeilen ausgeben
|}


; set tcp send/recv buffer (for experts)
=== [Channels] ===
#tcp_send_buffer_bytes=32768
{| class="wikitable sortable options big"
#tcp_recv_buffer_bytes=32768
|-
! Parameter !! Werte !! Beschreibung
|-
| cliprdr || true/false || Zwischenablage
|-
| rdpdr || true/false || Device Redirection (u.a. Laufwerksweiterleitung)
|-
| rdpsnd || true/false || Audio
|-
| drdynvc || true/false || Dynamic Virtual Channels. Voraussetzung für diverse Features
|-
| rail || true/false || RemoteApp/RAIL (falls genutzt)
|-
| xrdpvr || true/false || XRDP-Video/Streaming (falls genutzt)
|}


; security layer can be 'tls', 'rdp' or 'negotiate'
; Hinweis
; for client compatible layer
* Aktivierte Kanäle erhöhen die Angriffsfläche
security_layer=negotiate
* Nicht benötigte Kanäle deaktivieren


; minimum security level allowed for client for classic RDP encryption
=== Session types ===
; use tls_ciphers to configure TLS encryption
Connection sections definieren die im Login-Dialog auswählbaren Backend-Typen
; can be 'none', 'low', 'medium', 'high', 'fips'
crypt_level=high


; X.509 certificate and private key
{| class="wikitable sortable options big"
; openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
|-
; note this needs the user xrdp to be a member of the ssl-cert group, do with e.g.
! Sektion !! Parameter !! Werte !! Beschreibung
;$ sudo adduser xrdp ssl-cert
|-
certificate=
| [Xorg]/[Xvnc]/… || name || Xorg / Xvnc || Anzeigename im Login-Dialog
key_file=
|-
| [Xorg]/[Xvnc]/… || lib || libxup.so / libvnc.so || Backend-Library (Xorgxrdp/VNC)
|-
| [Xorg]/[Xvnc]/… || username || ask / na || Credential-Handling (GUI-Abfrage oder n/a)
|-
| [Xorg]/[Xvnc]/… || password || ask / na || Password-Handling
|-
| [Xorg]/[Xvnc]/… || ip || 127.0.0.1 / ask || Zielhost für Backend
|-
| [Xorg]/[Xvnc]/… || port || -1 / ask5900 || Zielport (''-1'' nutzt Backend-Default, VNC - 5900)
|-
| [Xorg]/[Xvnc]/… || code || 20 || Session-Typ-ID
|-
| [Xvnc] || xserverbpp || 24 || Farbtiefe des VNC-Backends
|-
| [Xvnc] || disable_encodings_mask || Integer/Bitmask || Maskiert VNC-Encodings (Workarounds)
|}


; set SSL protocols
== Beispiele ==
; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'
; TLS + Bind auf internes Interface
ssl_protocols=TLSv1.2, TLSv1.3
<syntaxhighlight lang="ini" highlight="" copy line>
; set TLS cipher suites
[Globals]
#tls_ciphers=HIGH
port=3389
address=10.0.0.1


; concats the domain name to the user if set for authentication with the separator
security_layer=tls
; for example when the server is multi homed with SSSd
certificate=/etc/xrdp/cert.pem
#domain_user_separator=@
key_file=/etc/xrdp/key.pem
</syntaxhighlight>


; The following options will override the keyboard layout settings.
; nicht benötigte Kanäle deaktivieren
; These options are for DEBUG and are not recommended for regular use.
<syntaxhighlight lang="ini" highlight="" copy line>
#xrdp.override_keyboard_type=0x04
[Channels]
#xrdp.override_keyboard_subtype=0x01
cliprdr=true
#xrdp.override_keylayout=0x00000409
rdpdr=false
rdpsnd=false
drdynvc=true
rail=false
</syntaxhighlight>


; Section name to use for automatic login if the client sends username
== Änderungen übernehmen ==
; and password. If empty, the domain name sent by the client is used.
<syntaxhighlight lang="bash" highlight="1" line copy>
; If empty and no domain name is given, the first suitable section in
sudo systemctl restart xrdp xrdp-sesman
; this file will be used.
</syntaxhighlight>
autorun=


allow_channels=true
allow_multimon=true
bitmap_cache=true
bitmap_compression=true
bulk_compression=true
#hidelogwindow=true
max_bpp=32
new_cursors=true
; fastpath - can be 'input', 'output', 'both', 'none'
use_fastpath=both
;when true, userid/password *must* be passed on cmd line. If the password
; is incorrect, the login will fail
#require_credentials=true
; when true, the userid will be used to try to authenticate
#enable_token_login=true
; You can set the PAM error text in a gateway setup (MAX 256 chars)
#pamerrortxt=change your password according to policy at http://url


;
<noinclude>
; colors used by windows in RGB format
;
blue=009cb5
grey=dedede
#black=000000
#dark_grey=808080
#blue=08246b
#dark_blue=08246b
#white=ffffff
#red=ff0000
#green=00ff00
#background=626c72


;
== Anhang ==
; configure login screen
=== Siehe auch ===
;
<div style="column-count:2">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


; Login Screen Window Title
=== Dokumentation ===
#ls_title=My Login Title
<!--
; Man-Page
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]


; top level window background color in RGB format
; Info-Pages
ls_top_window_bg_color=009cb5
-->


; width and height of login screen
=== Links ===
;
==== Projekt ====
; The default height allows for about 5 fields to be comfortably displayed
==== Weblinks ====
; above the buttons at the bottom. To display more fields, make <ls_height>
; larger, and also increase <ls_btn_ok_y_pos> and <ls_btn_cancel_y_pos>
; below
;
ls_width=350
ls_height=430


; login screen background color in RGB format
<!--
ls_bg_color=dedede
{{DEFAULTSORT:new}}
{{DISPLAYTITLE:new}}
-->


; optional background image filename. BMP format is always supported,
[[Kategorie:new]]
; but other formats will be supported if xrdp is build with imlib2
; The transform can be one of the following:-
;    none  : No transformation. Image is placed in bottom-right corner
;            of the screen.
;    scale : Image is scaled to the screen size. The image aspect
;            ratio is not preserved.
;    zoom  : Image is scaled to the screen size. The image aspect
;            ratio is preserved by clipping the image.
#ls_background_image=
#ls_background_transform=none


; logo
</noinclude>
; full path to file or file in shared folder. BMP format is always supported,
; but other formats will be supported if xrdp is build with imlib2
; For transform values, see 'ls_background_transform'. The logo width and
; logo height are ignored for a transform of 'none'.
ls_logo_filename=
#ls_logo_transform=none
#ls_logo_width=240
#ls_logo_height=140
ls_logo_x_pos=55
ls_logo_y_pos=50


; for positioning labels such as username, password etc
ls_label_x_pos=30
ls_label_width=65


; for positioning text and combo boxes next to above labels
[[Kategorie:Xrdp]]
ls_input_x_pos=110
ls_input_width=210
 
; y pos for first label and combo box
ls_input_y_pos=220
 
; OK button
ls_btn_ok_x_pos=142
ls_btn_ok_y_pos=370
ls_btn_ok_width=85
ls_btn_ok_height=30
 
; Cancel button
ls_btn_cancel_x_pos=237
ls_btn_cancel_y_pos=370
ls_btn_cancel_width=85
ls_btn_cancel_height=30
 
[Logging]
; Note: Log levels can be any of: core, error, warning, info, debug, or trace
LogFile=xrdp.log
LogLevel=INFO
EnableSyslog=true
#SyslogLevel=INFO
#EnableConsole=false
#ConsoleLevel=INFO
#EnableProcessId=false
 
[LoggingPerLogger]
; Note: per logger configuration is only used if xrdp is built with
; --enable-devel-logging
#xrdp.c=INFO
#main()=INFO
 
[Channels]
; Channel names not listed here will be blocked by XRDP.
; You can block any channel by setting its value to false.
; IMPORTANT! All channels are not supported in all use
; cases even if you set all values to true.
; You can override these settings on each session type
; These settings are only used if allow_channels=true
rdpdr=true
rdpsnd=true
drdynvc=true
cliprdr=true
rail=true
xrdpvr=true
tcutils=true
 
; for debugging xrdp, in section xrdp1, change port=-1 to this:
#port=/tmp/.xrdp/xrdp_display_10
 
 
;
; Session types
;
 
; Some session types such as Xorg, X11rdp and Xvnc start a display server.
; Startup command-line parameters for the display server are configured
; in sesman.ini. See and configure also sesman.ini.
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20
 
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
#xserverbpp=24
#delay_ms=2000
; Disable requested encodings to support buggy VNC servers
; (1 = ExtendedDesktopSize)
#disabled_encodings_mask=0
; Use this to connect to a chansrv instance created outside of sesman
; (e.g. as part of an x11vnc console session). Replace '0' with the
; display number of the session
#chansrvport=DISPLAY(0)
 
; Generic VNC Proxy
; Tailor this to specific hosts and VNC instances by specifying an ip
; and port and setting a suitable name.
[vnc-any]
name=vnc-any
lib=libvnc.so
ip=ask
port=ask5900
username=na
password=ask
#pamusername=asksame
#pampassword=asksame
#pamsessionmng=127.0.0.1
#delay_ms=2000
 
; Generic RDP proxy using NeutrinoRDP
; Tailor this to specific hosts by specifying an ip and port and setting
; a suitable name.
[neutrinordp-any]
name=neutrinordp-any
; To use this section, you should build xrdp with configure option
; --enable-neutrinordp.
lib=libxrdpneutrinordp.so
ip=ask
port=ask3389
username=ask
password=ask
; Uncomment the following lines to enable PAM authentication for proxy
; connections.
#pamusername=ask
#pampassword=ask
#pamsessionmng=127.0.0.1
; Currently NeutrinoRDP doesn't support dynamic resizing. Uncomment
; this line if you're using a client which does.
#enable_dynamic_resizing=false
; By default, performance settings requested by the RDP client are ignored
; and chosen by NeutrinoRDP. Uncomment this line to allow the user to
; select performance settings in the RDP client.
#perf.allow_client_experiencesettings=true
; Override any experience setting by uncommenting one or more of the
; following lines.
#perf.wallpaper=false
#perf.font_smoothing=false
#perf.desktop_composition=false
#perf.full_window_drag=false
#perf.menu_anims=false
#perf.themes=false
#perf.cursor_blink=false
; By default NeutrinoRDP supports cursor shadows. If this is giving
; you problems (e.g. cursor is a black rectangle) try disabling cursor
; shadows by uncommenting the following line.
#perf.cursor_shadow=false
; By default, NeutrinoRDP uses the keyboard layout of the remote RDP Server.
; If you want to tell the remote the keyboard layout of the RDP Client,
; by uncommenting the following line.
#neutrinordp.allow_client_keyboardLayout=true
; The following options will override the remote keyboard layout settings.
; These options are for DEBUG and are not recommended for regular use.
#neutrinordp.override_keyboardLayout_mask=0x0000FFFF
#neutrinordp.override_kbd_type=0x04
#neutrinordp.override_kbd_subtype=0x01
#neutrinordp.override_kbd_fn_keys=12
#neutrinordp.override_kbd_layout=0x00000409
 
; You can override the common channel settings for each session type
#channel.rdpdr=true
#channel.rdpsnd=true
#channel.drdynvc=true
#channel.cliprdr=true
#channel.rail=true
#channel.xrdpvr=true
 
[[Kategorie:/etc]]
[[Kategorie:Linux/Konfiguration/Datei]]
[[Kategorie:Bash/Konfiguration]]
[[Kategorie:XRDP]]

Aktuelle Version vom 11. Januar 2026, 15:19 Uhr

/etc/xrdp/xrdp.ini - Konfigurationsdatei des XRDP-Listeners

Beschreibung

/etc/xrdp/xrdp.ini definiert globale Eigenschaften des XRDP-Dienstes

Netzwerk-Listener
  • Port
  • Bind-Interface
Sicherheitslayer
  • TLS/RDP
Logging
Feature-Kanäle
  • Clipboard
  • Laufwerke
  • Audio
Sitzungsdefinitionen

Aufbau

Sektionen
Parameter Beschreibung
[Globals] Listener, Security, Performance-Flags, Laufzeit-User
[Logging] Logziele und Loglevel
[Channels] Aktivierung einzelner virtueller Kanäle
[Xorg]/[Xvnc] weitere – Connection sections

Sektionen

[Globals]

Parameter Werte / Beispiel Beschreibung
ini_version 1 Marker für das Konfigurationsformat. Wird meist durch Paketmaintainer gesetzt
port 3389
tcp://:3389
tcp://10.0.0.1:3389
Listener-Endpunkt. Abhängig von Release werden Schemas unterstützt (z.B. tcp/tcp6/unix/vsock)
address 127.0.0.1 / 10.0.0.1 Bind-Adresse (Legacy/Distribution). Wenn verfügbar, wird der Listener auf ein Interface begrenzt
tcp_nodelay true/false Reduziert Latenz (TCP_NODELAY).
tcp_keepalive true/false Keepalive für lange TCP-Sessions (SO_KEEPALIVE)
security_layer tls / rdp / negotiate Security-Modus. negotiate wählt abhängig vom Client
crypt_level none/low/medium/high/fips Verschlüsselungsstufe für Classic-RDP-Security (wirksam bei security_layer=rdp oder teils negotiate)
certificate /etc/xrdp/cert.pem TLS-Zertifikat (PEM)
key_file /etc/xrdp/key.pem TLS-Private-Key (PEM)
ssl_protocols TLSv1.2,TLSv1.3 Erlaubte TLS-Protokolle (bei TLS/Negotiation)
tls_ciphers <OpenSSL-Cipher-String> Cipher-Suite-Auswahl für TLS (OpenSSL-Syntax)
allow_channels true/false Globale Freigabe virtueller Kanäle. Bei false werden Kanäle effektiv blockiert
max_bpp 8/15/16/24/32 Maximale Farbtiefe
bitmap_cache true/false Bitmap-Caching zur Performance-/Bandbreitenoptimierung.
bitmap_compression true/false Bitmap-Kompression (reduziert Bandbreite, erhöht CPU)
bulk_compression true/false Kompression von Bulk-Daten
use_fastpath none/input/output/both FastPath-Optimierung (Performance)
domain_user_separator \\, @, + Trennzeichen für Domain/Realm im Username
runtime_user xrdp Laufzeit-User des Dienstes (wenn im Setup genutzt)
runtime_group xrdp Laufzeit-Gruppe des Dienstes (wenn im Setup genutzt)
Hinweis
  • key_file muss restriktiv berechtigt sein, aber für den XRDP-Prozess lesbar bleiben

[Logging]

Parameter Werte Beschreibung
LogFile xrdp.log
/var/log/xrdp.log
Logdatei (relativ oder absolut Pfad)
LogLevel ERROR/WARN/INFO/DEBUG Detailgrad der Datei-Logs
EnableSyslog true/false Syslog-Logging aktivieren
SyslogLevel ERROR/WARN/INFO/DEBUG Detailgrad für Syslog
EnableConsole true/false Console-Logging (Debugging)
ConsoleLevel ERROR/WARN/INFO/DEBUG Detailgrad der Console-Logs
EnableProcessId true/false PID in Logzeilen ausgeben

[Channels]

Parameter Werte Beschreibung
cliprdr true/false Zwischenablage
rdpdr true/false Device Redirection (u.a. Laufwerksweiterleitung)
rdpsnd true/false Audio
drdynvc true/false Dynamic Virtual Channels. Voraussetzung für diverse Features
rail true/false RemoteApp/RAIL (falls genutzt)
xrdpvr true/false XRDP-Video/Streaming (falls genutzt)
Hinweis
  • Aktivierte Kanäle erhöhen die Angriffsfläche
  • Nicht benötigte Kanäle deaktivieren

Session types

Connection sections definieren die im Login-Dialog auswählbaren Backend-Typen

Sektion Parameter Werte Beschreibung
[Xorg]/[Xvnc]/… name Xorg / Xvnc Anzeigename im Login-Dialog
[Xorg]/[Xvnc]/… lib libxup.so / libvnc.so Backend-Library (Xorgxrdp/VNC)
[Xorg]/[Xvnc]/… username ask / na Credential-Handling (GUI-Abfrage oder n/a)
[Xorg]/[Xvnc]/… password ask / na Password-Handling
[Xorg]/[Xvnc]/… ip 127.0.0.1 / ask Zielhost für Backend
[Xorg]/[Xvnc]/… port -1 / ask5900 Zielport (-1 nutzt Backend-Default, VNC - 5900)
[Xorg]/[Xvnc]/… code 20 Session-Typ-ID
[Xvnc] xserverbpp 24 Farbtiefe des VNC-Backends
[Xvnc] disable_encodings_mask Integer/Bitmask Maskiert VNC-Encodings (Workarounds)

Beispiele

TLS + Bind auf internes Interface
[Globals]
port=3389
address=10.0.0.1

security_layer=tls
certificate=/etc/xrdp/cert.pem
key_file=/etc/xrdp/key.pem
nicht benötigte Kanäle deaktivieren
[Channels]
cliprdr=true
rdpdr=false
rdpsnd=false
drdynvc=true
rail=false

Änderungen übernehmen

sudo systemctl restart xrdp xrdp-sesman



Anhang

Siehe auch



Dokumentation

Links

Projekt

Weblinks