summaryrefslogtreecommitdiffstats
path: root/modules-available/sysconfig
diff options
context:
space:
mode:
authorSimon Rettberg2017-03-02 09:57:47 +0100
committerSimon Rettberg2017-03-02 09:57:47 +0100
commit18339a4a1d8a9703189b4d68633428bb1869e8e8 (patch)
tree18dfe80379d243dc9cfbd40de1a9e983a76beb08 /modules-available/sysconfig
parent[main] Forgot install script update for list properties (diff)
downloadslx-admin-18339a4a1d8a9703189b4d68633428bb1869e8e8.tar.gz
slx-admin-18339a4a1d8a9703189b4d68633428bb1869e8e8.tar.xz
slx-admin-18339a4a1d8a9703189b4d68633428bb1869e8e8.zip
[sysconfig] on/off switch for runscript credential passing; overridable domain
Diffstat (limited to 'modules-available/sysconfig')
-rw-r--r--modules-available/sysconfig/addmodule_adauth.inc.php3
-rw-r--r--modules-available/sysconfig/addmodule_ldapauth.inc.php3
-rw-r--r--modules-available/sysconfig/inc/configmodulebaseldap.inc.php3
-rw-r--r--modules-available/sysconfig/lang/de/template-tags.json8
-rw-r--r--modules-available/sysconfig/lang/en/template-tags.json8
-rw-r--r--modules-available/sysconfig/templates/ad_ldap-homedir.html60
6 files changed, 60 insertions, 25 deletions
diff --git a/modules-available/sysconfig/addmodule_adauth.inc.php b/modules-available/sysconfig/addmodule_adauth.inc.php
index 266327a8..82df5bad 100644
--- a/modules-available/sysconfig/addmodule_adauth.inc.php
+++ b/modules-available/sysconfig/addmodule_adauth.inc.php
@@ -428,7 +428,8 @@ class AdAuth_HomeDir extends AddModule_Base
public static function getAttributes()
{
- return array('shareRemapMode', 'shareRemapCreate', 'shareDocuments', 'shareDownloads', 'shareDesktop', 'shareMedia', 'shareOther', 'shareHomeDrive');
+ return array('shareRemapMode', 'shareRemapCreate', 'shareDocuments', 'shareDownloads', 'shareDesktop',
+ 'shareMedia', 'shareOther', 'shareHomeDrive', 'shareDomain', 'credentialPassthrough');
}
}
diff --git a/modules-available/sysconfig/addmodule_ldapauth.inc.php b/modules-available/sysconfig/addmodule_ldapauth.inc.php
index 2bd4b584..c61c710c 100644
--- a/modules-available/sysconfig/addmodule_ldapauth.inc.php
+++ b/modules-available/sysconfig/addmodule_ldapauth.inc.php
@@ -212,7 +212,8 @@ class LdapAuth_HomeDir extends AddModule_Base
public static function getAttributes()
{
- return array('shareRemapMode', 'shareRemapCreate', 'shareDocuments', 'shareDownloads', 'shareDesktop', 'shareMedia', 'shareOther', 'shareHomeDrive');
+ return array('shareRemapMode', 'shareRemapCreate', 'shareDocuments', 'shareDownloads', 'shareDesktop',
+ 'shareMedia', 'shareOther', 'shareHomeDrive', 'shareDomain', 'credentialPassthrough');
}
}
diff --git a/modules-available/sysconfig/inc/configmodulebaseldap.inc.php b/modules-available/sysconfig/inc/configmodulebaseldap.inc.php
index 760593e1..8e42478e 100644
--- a/modules-available/sysconfig/inc/configmodulebaseldap.inc.php
+++ b/modules-available/sysconfig/inc/configmodulebaseldap.inc.php
@@ -7,7 +7,8 @@ abstract class ConfigModuleBaseLdap extends ConfigModule
private static $REQUIRED_FIELDS = array('server', 'searchbase');
private static $OPTIONAL_FIELDS = array('binddn', 'bindpw', 'home', 'ssl', 'fingerprint', 'certificate', 'homeattr',
- 'shareRemapMode', 'shareRemapCreate', 'shareDocuments', 'shareDownloads', 'shareDesktop', 'shareMedia', 'shareOther', 'shareHomeDrive');
+ 'shareRemapMode', 'shareRemapCreate', 'shareDocuments', 'shareDownloads', 'shareDesktop', 'shareMedia',
+ 'shareOther', 'shareHomeDrive', 'shareDomain', 'credentialPassthrough');
protected function generateInternal($tgz, $parent)
{
diff --git a/modules-available/sysconfig/lang/de/template-tags.json b/modules-available/sysconfig/lang/de/template-tags.json
index b2d5dfd0..4618aa08 100644
--- a/modules-available/sysconfig/lang/de/template-tags.json
+++ b/modules-available/sysconfig/lang/de/template-tags.json
@@ -28,6 +28,8 @@
"lang_confirmDeleteQuestion": "Wollen Sie dieses Element wirklich l\u00f6schen?",
"lang_connectionWait": "\u00dcberpr\u00fcfe Verbindung, bitte warten",
"lang_continueAnyway": "Trotzdem weiter",
+ "lang_credPassingNotes": "Wenn Sie diese Option aktivieren, werden Nutzername und Passwort des angemeldeten Benutzers an das Startskript der gew\u00e4hlten Veranstaltung \u00fcbergeben. Somit kann der Ersteller der Veranstaltung mit seinem Script beim Start der VM automatisiert weitere Dienste ansteuern, die eine Authentifizierung erfordern. Sie sollten diese Funktion nur aktivieren, wenn Sie der Personengruppe, die Veranstaltungen bearbeiten kann, entsprechend vertrauen.",
+ "lang_credentialPassing": "Zugangsdaten des Nutzers an das Startscript der Veranstaltung \u00fcbergeben.",
"lang_customCertificate": "Zur Validierung zus\u00e4tzlich erforderliche (Intermediate-)Zertifikate",
"lang_customModuleInfo1": "\u00dcber ein benutzerdefiniertes Modul ist es m\u00f6glich, beliebige Dateien zum Linux-Grundsystem, das auf den Clients gebootet wird, hinzuzuf\u00fcgen. Dazu kann ein Archiv mit einer Dateisystemstruktur hochgeladen werden, die in dieser Form 1:1 in das gebootete Linux extrahiert wird.",
"lang_customModuleInfo2": "Beispiel: Enth\u00e4lt das hochgeladene Archiv eine Datei etc\/beispiel.conf, so wird auf einem gebooteten Client diese Datei als \/etc\/beispiel.conf zu finden sein.",
@@ -36,11 +38,12 @@
"lang_dnLookup": "Ermitteln der Bind-DN",
"lang_download": "Herunterladen",
"lang_downloadLong": "Dieses Modul \"so wie es ist\" herunterladen.",
+ "lang_driveLetterNote": "WICHTIG: Bitte w\u00e4hlen Sie einen Laufwerksbuchstaben, der in den eingesetzten VMs verf\u00fcgbar ist, da ansonsten auf einen anderen Buchstaben ausgewichen werden muss.",
"lang_editLong": "Modul oder Konfiguration bearbeiten.",
"lang_editingLocationInfo": "Sie setzen die Konfiguration eines bestimmten Raums\/Orts, nicht die globale Konfiguration",
"lang_folderRedirection": "Folder Redirection",
"lang_generateModule": "Modul erzeugen",
- "lang_handlingNotes": "Hier k\u00f6nnen Sie festlegen, wie Netzwerk-Shares (inkl. des Home-Verzeichnisses) an Virtuelle Maschinen durchgereicht werden. In \u00e4lteren Versionen von bwLehrpool wurden die VMware Shared Folders genutzt, was mit bestimmten file servern Probleme verursachen konnte. Der neue native Modus funktioniert deutlich besser, ist aber bei Windows-G\u00e4sten darauf angewiesen, dass (1) der file server smb\/cifs spricht (z.B. Windows Server, Samba unter Linux) und (2) die openslx.exe im Autostart eingebunden ist (bei den bwLehrpool Vorlagen bereits der Fall). Der native Modus mit Fallback auf VMware ist experimentell und kann dazu f\u00fchren, dass die VM in regelm\u00e4\u00dfigen Abst\u00e4nden H\u00e4nger hat. WICHTIG: Bitte w\u00e4hlen Sie einen Laufwerksbuchstaben, der in den eingesetzten VMs verf\u00fcgbar ist, da ansonsten auf einen anderen Buchstaben ausgewichen werden muss.",
+ "lang_handlingNotes": "Hier k\u00f6nnen Sie festlegen, wie Netzwerk-Shares (inkl. des Home-Verzeichnisses) an Virtuelle Maschinen durchgereicht werden. In \u00e4lteren Versionen von bwLehrpool wurden die VMware Shared Folders genutzt, was mit bestimmten file servern Probleme verursachen konnte. Der neue native Modus funktioniert deutlich besser, ist aber bei Windows-G\u00e4sten darauf angewiesen, dass (1) der file server smb\/cifs spricht (z.B. Windows Server, Samba unter Linux) und (2) die openslx.exe im Autostart eingebunden ist (bei den bwLehrpool Vorlagen bereits der Fall).",
"lang_helpHomeAttrHead": "Name des Home-Verzeichnis-Attributs",
"lang_helpHomeAttrText": "Hier k\u00f6nnen Sie alternativ zum fest vorgegebenem Template des Home-Verzeichnis Servers den Attributsnamen im Active Directory angeben, der diesen Pfad bereitstellt. Normalerweise ist dies \"homeDirectory\". Wird das Feld leer gelassen, versucht der Assistent, das Attribut selbstst\u00e4ndig zu ermitteln. Falls das Einbinden der Home-Verzeichnisse anschlie\u00dfend nicht funktioniert, \u00fcberpr\u00fcfen Sie bitte den Client-Log (Status->Client Log) und den LDAP-Proxy-Log (Status->Server Status).",
"lang_helpModuleConfiguration": "Konfigurationsmodule sind die Bausteine, aus denen eine Systemkonfiguration erstellt wird. Hier lassen sich sowohl generische Module durch einen Wizard anlegen, als auch komplett eigene Module erstellen (fortgeschritten, Linuxkenntnisse erforderlich).",
@@ -87,10 +90,13 @@
"lang_selfSignedNote": "Das Zertifikat des Servers scheint selbst signiert zu sein. Wenn Sie fortfahren wird versucht, die Zertifikatskette vom Server abzufragen. Dies ist in den meisten F\u00e4llen erfolgreich, sollte aber nur getan werden wenn Sie wissen, dass das Zertifikat des Servers von einer unbekannten CA signiert wurde. Falls die Authentifizierung anschlie\u00dfend nicht funktioniert, \u00fcberpr\u00fcfen Sie die LDAP-Proxy Logs auf der Serverstatus-Seite.",
"lang_shareDesktop": "Desktop (Achtung: Vom Dozent angelegte Verkn\u00fcpfungen nicht sichtbar!)",
"lang_shareDocuments": "Eigene Dokumente",
+ "lang_shareDomainLabel": "Dom\u00e4nenname",
+ "lang_shareDomainNote": "Der Dom\u00e4nenname wird beim Einbinden des Home-Verzeichnisses dem Benutzernamen vorangestellt (DOMAIN\\user). Normalerweise wird der Dom\u00e4nenname automatisch ermittelt, er l\u00e4sst sich hiermit aber explizit \u00fcberschreiben.",
"lang_shareDownloads": "Downloads",
"lang_shareHomeDrive": "Home-Verzeichnis Buchstabe (Windows)",
"lang_shareMapCreate": "Ordner auf dem Netzlaufwerk bei Bedarf anlegen",
"lang_shareMedia": "Eigene Musik, Videos, Bilder",
+ "lang_shareModeNote": "\"Nativer Modus mit Fallback auf VMware\" ist experimentell und kann dazu f\u00fchren, dass die VM in regelm\u00e4\u00dfigen Abst\u00e4nden H\u00e4nger hat.",
"lang_shareOther": "Andere (Saved Games, Kontakte, Favoriten, ...)",
"lang_shareRemapMode": "Einbindemodus",
"lang_show": "Ansehen",
diff --git a/modules-available/sysconfig/lang/en/template-tags.json b/modules-available/sysconfig/lang/en/template-tags.json
index 15516bf2..9b399f04 100644
--- a/modules-available/sysconfig/lang/en/template-tags.json
+++ b/modules-available/sysconfig/lang/en/template-tags.json
@@ -28,6 +28,8 @@
"lang_confirmDeleteQuestion": "Are you sure you want to delete this entry?",
"lang_connectionWait": "Checking connection, please wait",
"lang_continueAnyway": "Continue anyway",
+ "lang_credPassingNotes": "If you enable this option, the username and password of the logged in user will be passed to the start script inside the VM, which is supplied by the tutor who created the lecture. This can be used to automatically authenticate the user to additional services by script. You should only enable this option if you trust the group of users eligible to edit lectures.",
+ "lang_credentialPassing": "Pass user credentials to start script.",
"lang_customCertificate": "Additional (intermediate) certificates required for certificate validation",
"lang_customModuleInfo1": "About a custom module, it is possible to add arbitrary files to a Linux system that is booted clients. For this purpose, an archive can be uploaded using a file system structure that is extracted in this form 1:1 in the booted Linux.",
"lang_customModuleInfo2": "Example: If the uploaded archive is the file etc\/example.conf, this file will be located as \/etc\/example.conf to a booted client.",
@@ -36,11 +38,12 @@
"lang_dnLookup": "Looking up bind dn",
"lang_download": "Download",
"lang_downloadLong": "Download module \"as is\".",
+ "lang_driveLetterNote": "IMPORTANT: Pick a drive letter for the home directory that will be free in the Virtual Machines. Otherwise, a random letter will be assigned.",
"lang_editLong": "Edit module or configuration.",
"lang_editingLocationInfo": "You're setting the configuration for a specific location, not the global one",
"lang_folderRedirection": "Folder Redirection",
"lang_generateModule": "Generating module",
- "lang_handlingNotes": "Here you can configure how network shares (like the user's home directory) are mapped inside the VM. Old Versions of bwLehrpool used the VMware Shared Folder technique, which could cause problems with certain file servers. The new \"native mode\" works much better, but on Windows guests, it requires that you (1) use an smb\/cifs file server (Windows Server, Linux with Samba) and (2) have openslx.exe setup to autorun in the VM (this is already configured for bwLehrpool templates). Native mode with fallback is experimental and known to cause temporary freezes with some VMs. Use with care. IMPORTANT: Pick a drive letter for the home directory that will be free in the Virtual Machines. Otherwise, a random letter will be assigned.",
+ "lang_handlingNotes": "Here you can configure how network shares (like the user's home directory) are mapped inside the VM. Old Versions of bwLehrpool used the VMware Shared Folder technique, which could cause problems with certain file servers. The new \"native mode\" works much better, but on Windows guests, it requires that you (1) use an smb\/cifs file server (Windows Server, Linux with Samba) and (2) have openslx.exe setup to autorun in the VM (this is already configured for bwLehrpool templates).",
"lang_helpHomeAttrHead": "Name of the home directory attribute",
"lang_helpHomeAttrText": "Here you can specify the name of the attribute on the Active Directory that contains the path of the home directory server. Usually this is \"homeDirectory\". If you leave this blank, the wiszard will try to determine the attribute name automatically. If home directories don't work, check the client log (Status->Client log) and the LDAP proxy log (Status->Server status).",
"lang_helpModuleConfiguration": "Configuration modules are the building blocks from which a system configuration is created. Here you can create both generic modules by a wizard, as well as create completely custom modules (advanced Linux knowledge required).",
@@ -87,10 +90,13 @@
"lang_selfSignedNote": "The certificate of this server cannot be verified using the builtin trust store. If you know that the server's certificate was signed by an unknown CA, you can try to proceed. The chain will then be extracted from the server, which should be successful in most cases. If the authentication module does not work afterwards, check the LDAP-proxy logs on the server status page.",
"lang_shareDesktop": "Desktop (Might hide shortcuts created by the tutor)",
"lang_shareDocuments": "My Documents",
+ "lang_shareDomainLabel": "Domain name",
+ "lang_shareDomainNote": "The user name will be prefixed by the domain when trying to mount home directories (DOMAIN\\user). Usually this will be determined automatically, but you can always override it here.",
"lang_shareDownloads": "Downloads",
"lang_shareHomeDrive": "Home drive letter (Windows)",
"lang_shareMapCreate": "Create folders on network share if they don't exist",
"lang_shareMedia": "My Music, Videos, Pictures",
+ "lang_shareModeNote": "\"Native mode with fallback\" is experimental and known to cause temporary freezes with some VMs. Use with care.",
"lang_shareOther": "Other (Saved Games, Contacts, Favorites, ...)",
"lang_shareRemapMode": "Mapping mode",
"lang_show": "Show",
diff --git a/modules-available/sysconfig/templates/ad_ldap-homedir.html b/modules-available/sysconfig/templates/ad_ldap-homedir.html
index de64e49e..2ced563d 100644
--- a/modules-available/sysconfig/templates/ad_ldap-homedir.html
+++ b/modules-available/sysconfig/templates/ad_ldap-homedir.html
@@ -1,8 +1,3 @@
-<div class="slx-bold">
- {{lang_homedirHandling}}
-</div>
-<div><i>{{lang_handlingNotes}}</i></div>
-
<!-- 'shareRemapMode', 'shareRemapCreate', 'shareDocuments', 'shareDownloads', 'shareDesktop', 'shareMedia', 'shareOther' -->
<form method="post" class="form-horizontal" action="?do=SysConfig&amp;action=addmodule&amp;step={{next}}">
@@ -21,6 +16,17 @@
{{/ssl}}
<input name="fingerprint" value="{{fingerprint}}" type="hidden">
+ <div class="slx-bold">{{lang_credentialPassing}}</div>
+ <div class="checkbox">
+ <input type="checkbox" class="form-control" id="inputcredentialPassthrough" name="credentialPassthrough">
+ <label for="inputcredentialPassthrough">{{lang_credentialPassing}}</label>
+ </div>
+ <div><i>{{lang_credPassingNotes}}</i></div>
+
+ <hr>
+ <div class="slx-bold">{{lang_homedirHandling}}</div>
+ <div><i>{{lang_handlingNotes}}</i></div>
+
<div class="form-group row">
<label for="inputshareRemapMode" class="control-label col-xs-4">{{lang_shareRemapMode}}</label>
<div class="col-xs-8">
@@ -30,6 +36,14 @@
<option value="3" {{shareRemapMode_3}}>{{lang_mapModeVmware}}</option>
<option value="2" {{shareRemapMode_2}}>{{lang_mapModeNativeFallback}}</option>
</select>
+ <p><i>{{lang_shareModeNote}}</i></p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <label for="inputshareDomain" class="control-label col-xs-4">{{lang_shareDomainLabel}}</label>
+ <div class="col-xs-8">
+ <input type="text" class="form-control" id="inputshareDomain" name="shareDomain">
+ <p><i>{{lang_shareDomainNote}}</i></p>
</div>
</div>
<div class="form-group row">
@@ -40,31 +54,37 @@
<option {{selected}}>{{drive}}</option>
{{/drives}}
</select>
+ <p><i>{{lang_driveLetterNote}}</i></p>
</div>
</div>
+
<hr>
<div class="slx-bold">{{lang_folderRedirection}}</div>
<div><i>{{lang_redirectionWarning}}</i></div>
- <div>
- <label class="control-label"><input type="checkbox" name="shareDocuments" {{shareDocuments_c}}> {{lang_shareDocuments}}</label>
+
+ <div class="checkbox">
+ <input id="shareDocuments" type="checkbox" class="form-control" name="shareDocuments" {{shareDocuments_c}}>
+ <label for="shareDocuments">{{lang_shareDocuments}}</label>
</div>
- <div>
- <label class="control-label"><input type="checkbox" name="shareDownloads" {{shareDownloads_c}}> {{lang_shareDownloads}}</label>
+ <div class="checkbox">
+ <input id="shareDownloads" type="checkbox" class="form-control" name="shareDownloads" {{shareDownloads_c}}>
+ <label for="shareDownloads">{{lang_shareDownloads}}</label>
</div>
- <div>
- <label class="control-label"><input type="checkbox" name="shareDesktop" {{shareDesktop_c}}> {{lang_shareDesktop}}</label>
+ <div class="checkbox">
+ <input id="shareDesktop" type="checkbox" class="form-control" name="shareDesktop" {{shareDesktop_c}}>
+ <label for="shareDesktop">{{lang_shareDesktop}}</label>
</div>
- <div>
- <label class="control-label"><input type="checkbox" name="shareMedia" {{shareMedia_c}}> {{lang_shareMedia}}</label>
+ <div class="checkbox">
+ <input id="shareMedia" type="checkbox" class="form-control" name="shareMedia" {{shareMedia_c}}>
+ <label for="shareMedia">{{lang_shareMedia}}</label>
</div>
- <div>
- <label class="control-label"><input type="checkbox" name="shareOther" {{shareOther_c}}> {{lang_shareOther}}</label>
+ <div class="checkbox">
+ <input id="shareOther" type="checkbox" class="form-control" name="shareOther" {{shareOther_c}}>
+ <label for="shareOther">{{lang_shareOther}}</label>
</div>
- <div class="row">
- <div class="col-xs-2"></div>
- <div class="col-xs-10">
- <label class="control-label"><input type="checkbox" name="shareRemapCreate" {{shareRemapCreate_c}}> {{lang_shareMapCreate}}</label>
- </div>
+ <div class="checkbox">
+ <input id="shareRemapCreate" type="checkbox" class="form-control" name="shareRemapCreate" {{shareRemapCreate_c}}>
+ <label for="shareRemapCreate">{{lang_shareMapCreate}}</label>
</div>
<div class="pull-right">
<button type="submit" class="btn btn-primary">{{lang_next}} &raquo;</button>