User Tools

Site Tools


x2gobroker:inifilebackend

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
x2gobroker:inifilebackend [2013/05/12 22:26]
sunweaver
x2gobroker:inifilebackend [2013/07/02 00:36]
sunweaver
Line 2: Line 2:
  
 The default version of the ''/etc/x2go/broker/x2gobroker-sessionprofiles.conf'' configuration file can be viewed [[http://code.x2go.org/gitweb?p=x2gobroker.git;a=blob;f=etc/broker/x2gobroker-sessionprofiles.conf|here]]. The default version of the ''/etc/x2go/broker/x2gobroker-sessionprofiles.conf'' configuration file can be viewed [[http://code.x2go.org/gitweb?p=x2gobroker.git;a=blob;f=etc/broker/x2gobroker-sessionprofiles.conf|here]].
 +
 +===== Basic Configuration File =====
  
 The file format is the INI file format. It falls in to a [DEFAULT] section and one or more session profile sections. A minimal setup could look like this. The file format is the INI file format. It falls in to a [DEFAULT] section and one or more session profile sections. A minimal setup could look like this.
Line 24: Line 26:
  
 Note that every X2Go Client parameter not given here gets filled in from a [[http://code.x2go.org/gitweb?p=x2gobroker.git;a=blob;f=x2gobroker/defaults.py|hard-coded default configuration]]. Note that every X2Go Client parameter not given here gets filled in from a [[http://code.x2go.org/gitweb?p=x2gobroker.git;a=blob;f=x2gobroker/defaults.py|hard-coded default configuration]].
 +
 +===== Special Broker Functionalities =====
 +
 +Some options in the ''x2gobroker-sessionprofiles.conf'' file are used to tweak the broker itself. The options are:
 +
 +==== Provisioning of SSH keys to X2Go Client / Servers ====
 +
 +X2Go Session Broker normally requires two consecutive logins. One against the session broker, the second against the X2Go Server that the X2Go session will be launched on. The second login (SSH login against X2Go Server) can be automated via the session broker and its agent. For activation of this feature, the special session profile option ''broker-session-autologin'' has to be set to ''true''.
 +
 +  * ''broker-session-autologin'': send a private SSH key to X2Go Client that the client then internally uses for SSH pub/priv key based authentication. The X2Go Session Broker will send the SSH public key via the X2Go Session Broker Agent to the X2Go Server
 +  * ''broker-authorized-keys'' (optional, normally defaults are ok): full path to the server-side ''authorized_keys'' file (on the X2Go server)
 +
 +If ''broker-session-autologin'' is activated, the session broker will create a temporary SSH pub/priv key pair, deploy the private key to X2Go Client and the public key to the X2Go Server that is targeted for X2Go session login.
 +
 +===== Filtering through Access Control List =====
 +
 +If a user has been successfully authenticated against the X2Go Session Broker (or a user name has been given via the http request for cases where ''check-credentials'' in ''x2gobroker.conf'' is set to ''false'') you can use the user's UID, GID and the client address from that the user connects to filter out session profiles.
 +
 +<file>
 +[DEFAULT]
 +command=XFCE
 +fullscreen=true
 +
 +[staff-server]
 +host=x2go-staff.intern
 +acl-groups-allow=staff,admins
 +acl-groups-deny=ALL
 +acl-any-order=deny-allow
 +
 +[student-server]
 +host=x2go-student-01.intern
 +acl-groups-allow=students,admins
 +acl-groups-deny=ALL
 +acl-any-order=deny-allow
 +
 +[admin-server]
 +host=x2go-admin.intern
 +fullscreen=false
 +width=1280
 +height=768
 +acl-groups-allow=admins
 +acl-groups-deny=ALL
 +acl-any-order=deny-allow
 +</file>
 +
 +==== List of ACL rules ====
 +
 +The ACL rules work very similar to Apache ACL rules (allow, deny statements in ''apache2.conf'').
 +
 +To set the order (deny, allow vs. allow, deny), use this parameter
 +
 +  * ''acl-any-order = {deny-allow|allow-deny}'' (apply order to any ACL)
 +  * ''acl-users-order = {deny-allow|allow-deny}'' (apply order to user ACLs only)
 +  * ''acl-groups-order = {deny-allow|allow-deny}'' (apply order to group ACLs only)
 +  * ''acl-clients-order = {deny-allow|allow-deny}'' (apply order to client ACLs only)
 +
 +Furthermore, an aid for selecting the correct order (deny-allow vs. allow-deny): 
 +
 +**User ACLs:**
 +
 +  * ''acl-users-allow = <user1>, <user2>, ..., <userN>''
 +  * ''acl-users-deny = ALL''
 +
 +**Group ACLs:**
 +
 +  * ''acl-groups-allow = <group1>, <group2>, ..., <groupN>''
 +  * ''acl-groups-deny = ALL''
 +
 +**Client ACLs:**
 +
 +  * ''acl-clients-allow = <subnet-or-ip>, <or-dns-hostname>''
 +  * ''acl-clients-deny = ALL''
 +
 +
 +
 +
 +
x2gobroker/inifilebackend.txt ยท Last modified: 2013/07/02 00:36 by sunweaver