6973d653ab07bbd848c12734d74307fb3477e515
[x2gobroker.git] / etc / broker / x2gobroker-sessionprofiles.conf
1 ### X2Go Broker Session Profiles - ADAPT TO YOUR NEEDS ###
2
3 # This whole file reflects a set of examplary X2Go session profiles being
4 # provided via the X2Go Session Broker (backend: iniconf).
5
6 # This whole file could be the broker setup in some university institute that
7 # runs three server pools (pool-A, pool-B and pool-C). Though most univerities
8 # have real IPv4 internet addresses, we use private subnets in the examples
9 # below.
10
11 # The X2Go Session Broker is served into the institutes local intranet, the
12 # broker cannot be reached from the internet directly.
13
14 # The first section [DEFAULTS] provides a set of default profile settings that
15 # are common to all session profiles given in sections below.
16
17 # The other section names can be freely chosen, however, each section name has
18 # to be unique within this file.
19
20 # IMPORTANT: in the session profiles below you will find some lines starting
21 # with acl-... These lines do neither protect the X2Go Session Broker nor
22 # your X2Go Servers. They simply allow for selective session profile provision
23 # based on client address, user name and group memberships.
24 #
25 # For protecting the broker use iptables and ip6tables. For protecting your
26 # X2Go Servers use iptable+ip6tables and a tightened PAM configuration (e.g.
27 # pam_access.so). Securing X2Go Servers means securing the SSH daemon that
28 # runs on the X2Go Server.
29
30
31 [DEFAULT]
32 command=TERMINAL
33 defsndport=true
34 useiconv=false
35 iconvfrom=UTF-8
36 height=600
37 export=
38 quality=9
39 fullscreen=false
40 layout=
41 useexports=true
42 width=800
43 speed=2
44 soundsystem=pulse
45 print=true
46 type=auto
47 sndport=4713
48 xinerama=true
49 variant=
50 usekbd=true
51 fstunnel=true
52 applications=TERMINAL,WWWBROWSER,MAILCLIENT,OFFICE
53 multidisp=false
54 sshproxyport=22
55 sound=true
56 rootless=true
57 iconvto=UTF-8
58 soundtunnel=true
59 dpi=96
60 sshport=22
61 setdpi=0
62 pack=16m-jpeg
63 directrdp=false
64 user=BROKER_USER
65
66 [localhost-kde]
67 name=KDE - localhost
68 host=localhost
69 command=KDE
70 usebrokerpass=true
71
72 [localhost-mate]
73 name=MATE - localhost
74 host=localhost
75 command=MATE
76 usebrokerpass=true
77
78 [localhost-shadow]
79 name=SHADOW - localhost
80 # don't even try load-balancing here... it makes not sense and won't work (first given host will be used!)
81 host=localhost
82 command=SHADOW
83 usebrokerpass=true
84
85 ### EXAMPLES: Below you find some config examples. Adapt them to your needs or
86 ### simply write your own session profiles and remove the examples below.
87
88 ##
89 ## EXAMPLE: pool-A (staff servers)
90 ##
91 ## The pool-A contains three X2Go Servers (server-A, server-B and server-C).
92
93 ## The staff of our example institute falls into two groups of users:
94 ## gnome-users and kde-users.
95 ## The gnome-users log into server-A or server-B, depending on their client
96 ## subnet (IP configuration of the client).
97 ## The kde-users login to server-C (server-C can be reached from the whole
98 ## intranet).
99 ##
100 ## The client IP based split-up of the GNOME users allows some primitive load
101 ## balancing.
102 ##
103 ## If staff people are members of both groups (kde-users, gnome-users) both
104 ## session profiles will be shown in X2Go Client.
105 ##
106
107 #[pool-A-server-A]
108 #user=
109 #host=server-a.pool-a.domain.local
110 #name=GNOME - pool-A (srv-A)
111 #command=GNOME
112 #rootless=false
113 #acl-groups-allow=gnome-users,admins
114 #acl-groups-deny=ALL
115 #acl-clients-deny=ALL
116 #acl-clients-allow=10.1.0.0/16
117 #acl-any-order=deny-allow
118 #broker-session-autologin=true
119
120 #[pool-A-server-B]
121 #user=
122 #host=server-b.pool-a.domain.local
123 #name=GNOME - pool-A (srv-B)
124 #command=GNOME
125 #rootless=false
126 #acl-groups-allow=gnome-users,admins
127 #acl-groups-deny=ALL
128 #acl-clients-deny=ALL
129 #acl-clients-allow=10.2.0.0/16
130 #acl-any-order=deny-allow
131 #broker-session-autologin=true
132
133 #[pool-A-server-C]
134 #user=
135 #host=server-c.pool-a.domain.local
136 #name=KDE - pool-A (srv-C)
137 #command=KDE
138 #rootless=false
139 #acl-groups-allow=kde-users,admins
140 #acl-groups-deny=ALL
141 #acl-any-order=deny-allow
142 #broker-session-autologin=true
143
144 ##
145 ## EXAMPLE: pool-B (e.g. webserver in the DMZ or on the internet)
146 ##
147 ## The pool-B is a single X2Go Server (server-D) that is
148 ## hosted externally. The server-D has an official internet IP.
149 ##
150 ## The session profile for server-D shall be provided to the
151 ## admins group only.
152 ##
153 ## Furthermore, the session profile for server-D shall only get
154 ## offered to a member of the admins group if the admin is sitting
155 ## in front of one of the admin client machines.
156 ##
157
158 #[pool-B-server-D-LXDE]
159 #user=
160 #host=server-d (server-d.domain.internet)
161 #name=LXDE - srv-D
162 #command=LXDE
163 #rootless=false
164 #acl-groups-allow=admins
165 #acl-groups-deny=ALL
166 ## make sure hostnames in client ACLs are resolvable via libnss!!!
167 #acl-clients-deny=ALL
168 #acl-clients-allow=admin-machine1.domain.local, admin-machine2.domain.local, admin-machine3.domain.local
169 #acl-any-order=deny-allow
170
171 ##
172 ## EXAMPLE: pool-C (REAL LOAD BALANCING!!!)
173 ##
174 ## The pool-C is a server pool for students. Our example institute
175 ## knows 200-300 students and has to offer working places for
176 ## every student.
177 ##
178 ## The resource limits on these servers are pretty strict, so staff members
179 ## normally stay away from these machines, anyway. Only two test account
180 ## get this session profile into their X2Go Clients.
181 ##
182 ## The pool-C contains 6 X2Go Servers that serve all students users together
183 ## as a load balance server farm. The servers' hostnames are s-E1, s-E2, ...
184 ## (as found in /etc/hostname). The hosts, however, are not configured in DNS
185 ## so we give their IPs explicitly (also works for IPv6).
186 ##
187 ## Make sure to install x2gobroker-agent on all these 6 X2Go Servers. Also make
188 ## sure to once run the script x2gobroker-keygen on the broker host and once
189 ## the script x2gobroker-pubkeyauthorizer per X2Go Server.
190 ##
191 ## All 6 X2Go Servers have to be configured to use the PostgreSQL X2Go session
192 ## DB backend.
193 ##
194
195 #[pool-C-XFCE]
196 #user=
197 #host=s-E1 (10.0.2.11),s-E2 (10.0.2.12),s-E3 (10.0.2.13),s-E4 (10.0.2.14),s-E5 (10.0.2.15)
198 #name=XFCE - pool-C
199 #command=XFCE
200 #rootless=false
201 #acl-users-allow=testuser-A,testuser-B
202 #acl-users-deny=ALL
203 #acl-groups-allow=students,admins
204 #acl-groups-deny=ALL
205 #acl-any-order=deny-allow
206 # this server pool has a special broker setup for SSH authorized_keys
207 #broker-session-autologin=true
208 #broker-authorized-keys=/var/lib/x2gobroker/ssh/%u/authorized_keys