owned this note
owned this note
Published
Linked with GitHub
Client konfigurieren
====================
---
## Puavo-Conf
Alle Puavo Clients werden mit dem puavo-System konfiguriert. puavo-conf besteht aus einer Datenbank bestehend aus Schlüsse-Werte-Paaren.
:::info
Die Konfiguration ist im Moment noch ein Durcheinander, da vom "alten tag-System" (von Ubuntu) auf puavo.conf umgestellt wird. Darüber hinaus können einige Werte mit puavo-conf und auf der PuavoUser-Site gesetzt werde.
:::
Die Werte können an verschiedenen Stellen gesetzt werden:
1. Organisation: Organisation --> About --> Edit
2. Schule: Schule --> Dashboard --> Edit
3. Client: Devices --> Client --> Edit
Die Werte werden in dieser Reihenfolge gelesen und evtl. auf der spezifischeren Ebene überschrieben. Die Werte sollten möglichst auf der obersten Ebene gesetzt werden.
Die Client-Konfiguration wird beim Booten und danach jede Stunde automatisch aktualisiert. Das Einlesen der Konfig kann auch manuel erfolgen:
```
guest@laptop:$ puavo-update-client
```
### Defaultwerte auf der Imageebene
In der Datei ```/etc/puavo-conf/image.json``` werden grundlegende Einstellungen fesgelegt:
```json
{
"puavo.abitti.exam_server": "koejakaja.opinsys.fi",
"puavo.admin.backup.authorized_hosts": "10.246.144.45",
"puavo.admin.backup.authorized_ssh_pubkey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUN6fmT4t52Bna2YLZPBcZj6VIbEobLypczeOc6dgOuPtmTuQg/qPIvXyQxerZCAGIs0NfEOUeYuStPhiKEQ+dS2jkGWx5BROkJ4FsLKx0+PdFihM9StZkMP6Xi4aZpExhP/f2QOke5hMyeP0/3HZPzdhOiF6c/zawTreSJCMKCFVBOSoKfrgRoCSai60oTUXqnLd/E3E2sdb95pDsV2xbL7IwwBZJjt6uU8h1GEcHgnPh6mSLyv3j7RmTMNyTps4kGRYKviZZVF/3PK1743fZoWqQnvuYfFujcMgDDdxQWRji5XbsJkTenbufP1X73I9aECk8EBtmDnBznqOmKYAP",
"puavo.admin.certs.versions": "20190321 20101001",
"puavo.admin.logging.master": "log.opinsys.fi",
"puavo.admin.vpn.subnet": "10.246.155.0/24",
"puavo.boot.plymouth.theme": "opinsys-dark",
"puavo.desktop.vendor.logo": "/usr/share/opinsys-art/logo.png",
"puavo.greeter.logo": "/usr/share/opinsys-art/opinsys-support-info-fi.png",
"puavo.monitoring.nagios.allowed_hosts": "127.0.0.1,10.246.133.132",
"puavo.networking.ubnt.unify.address": "10.246.147.5",
"puavo.support.image_changelog_url": "https://changelog.opinsys.fi/%%LANG%%/%%IMAGESERIES%%/%%LSBCODENAME%%/#%%IMAGEVERSION%%",
"puavo.support.remoteaccess.icons.allowed": "/usr/share/opinsys-art/opinsys-applet-remote-access-active.png",
"puavo.support.remoteaccess.icons.denied": "/usr/share/opinsys-art/opinsys-applet-idle.png",
"puavo.support.new_bugreport_url": "https://support.opinsys.fi/new",
"puavo.vpn.client.remote_servers": "217.112.254.9|443|tcp 217.112.254.10|443|tcp",
"puavo.www.apiserver": "https://api.opinsys.fi",
"puavo.boot.plymouth.theme": "kites",
"puavo.greeter.logo": "/usr/share/kemi-art/kemi-login-logo.png",
"puavo.desktop.keyboard.layout": "ch",
"puavo.time.timezone": "Europe/Zurich",
"puavo.desktop.keyboard.variant": "",
"puavo.l10n.locale": "de_CH.UTF-8"
}
```
### Defaultwerte auf der Organisationsebene
Die Werteangaben werden als JSON-File geschrieben. Hier eine (minimale) typische Angabe (auf Organisationsniveau):
```json
{
"puavo.desktop.keyboard.layout": "de",
"puavo.desktop.keyboard.variant": "",
"puavo.l10n.locale": "de_DE.UTF-8",
"puavo.time.timezone": "Europe/Berlin",
"puavo.www.homepage": "https://www.meineschule.de",
"puavo.guestlogin.enabled": true,
"puavo.autopoweroff.enabled": true,
"puavo.autopoweroff.daytime_start_hour": 7,
"puavo.autopoweroff.daytime_end_hour": 16,
"puavo.image.servers": "images.amxa.ch images.sachsenanhalt.de",
"puavo.image.automatic_updates": true,
"puavo.image.download.ratelimit": "500k"
}
```
Auf Schulniveau ist normalerweise keine Angabe nötig.
## Spezielle Clients
### Geteilte Latptops (shared laptop)
Das ist der Normalfall, mehrere SuS teilen sich einen Laptop. Auf einem geteilten Laptop hat jeder Benutzer ein eigenes lokales und permanentes Homeverzeichnis.
Da die SuS jedoch nicht immer das gleiche Laptop benutzen sollten alle Arbeiten zusätzlich auf den Netzlaufwerk auf der PuavoBox gespeichert werden. So können Arbeiten auf einem beliebigen anderen Laptop fortgesetzt werden.
Bei geteilten Laptops wird also davon ausgegangen, dass die home-Verzeichnisse und deren Benutzer jederzeit gelöscht werden können. Dies ist auch automatisch (bei voller HD oder nach einer bestimmten Zeit) möglich. Die entspechenden puavo-conf Keys (Organisation) sind:
```json
{
"puavo.admin.cleanup.homedirs.ensure_free_space": false,
"puavo.admin.cleanup.homedirs.freespace_min": 1073741824,
"puavo.admin.cleanup.old_user_homedir_daylimit": 365,
"puavo.admin.cleanup.remove_old_users": false
}
```
:::info
Es werden nur lokale Dinge auf dem Laptop gelöscht. Auf der PuavoBox wird nichts verändert.
:::
### Persönlicher Laptop (personal laptop)
Perönliche Laptops sind bis auf kleine Anpassungen wie geteilte Laptops:
* Beim Login wird der primäre Benutzer vorausgewählt
* Ein externer ssh-Zugang muss aktive erlaubt werden
* Es werden keine home-Verzeichnisse und Benutzer automatisch gelöscht
Ein Laptops wird durch die Angabe eines primären Benutzers zum persönlichen Laptop. Der entsprechende puavo-conf (Client) ist
```json
{
"puavo.admin.primary_user": "primary_name"
}
```
:::info
Der primäre Benutzer kann auch bei der Installation des Clients oder auf der PuavoUser-Site fesgelgt werden
:::
### Persönlich administrierter Laptop (personaly administered laptop)
Ein persönlich administrierter Laptop ist wie ein persönlicher Laptop. Zusätzlich
* hat der primäre Benutzer sudo-Rechte!
* kann der primäre Benutzer die System-Updates manuell steuern
Der entsprechende puavo-conf Eintrag (Client) ist
```json
{
"puavo.admin.primary_user": "primary_name",
"puavo.admin.personally_administered": true
}
```
:::info
Dies kann auch auf der PuavoUser-Site fesgelgt werden.
:::
## Man: puavo-conf
Mit dem Programm puavo-conf können die Werte (für Scripts!) gelesen , verändert oder neue Schlüssel-Werte-Paare generiert werden.
C.f. auch [Github](https://github.com/puavo-org/puavo-os/tree/master/parts/conf)
```
stotz.basil@laptop:~$ puavo-conf --help
Usage: puavo-conf [OPTIONS]... [--] [KEY [VALUE]]
Get and set Puavo Configuration parameters.
Options:
-h, --help display this help and exit
--set-mode MODE how to set the value, see MODE below
If both KEY and VALUE are given, set the value of
KEY to VALUE. If only KEY is given, display its
value. If no arguments are given, display all
parameters.
MODE
overwrite overwrite the value but fail if KEY does not exist
add add a new parameter but fail if KEY exists
force add a new parameter or overwrite if KEY exists
If --set-mode is not given, --set-mode=overwrite is implied.
stotz.basil@laptop:~$
```