━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ERWEITERTE apraxos ACLIENT-INSTALLATION
Dominik Saar
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Table of Contents
─────────────────
1 apraxos Aclientinstallation
2 Erweiterte oder abgewandelte Aclient-Installation
.. 2.1 PAM Einstellungen
..... 2.1.1 /etc/pam.d/login
..... 2.1.2 /etc/pam.d/sshd
.. 2.2 Startskript
.. 2.3 Nachbehandlung nach Update
1 apraxos Aclientinstallation
══════════════════════════════
Im apraxos-System gibt es die Möglichkeit, eine Klientinstallation
durchzuführen. Mit der Klientinstallation hat man dann die
Möglichkeit, eigene Einstellungen für die GUI, Drucker, Kartenleser
usw vorzunehmen.
Es gibt 2 Varianten der Installation eines Klienten.
1) Aclient-Verzeichnis unterhalb des Hauptbenutzers mit der
apraxos-Installation. Alle Klienten verbinden sich mit dem
Hauptbenutzer auf dem System und starten ihren Klienten.
2) Aclientverzeichnis unterhalb des Hauptbenutzers. Jeder Klient hat
seinen eigenen Systembenutzer und startet seine Klientumgebung.
Dies hat den Vorteil, dass OpenOffice durch jeden Klienten
gestartet werden kann.
Die 2. Methode beansprucht etwas mehr Konfiguration am System und
benötigt eine Nachbehandlung nach einem apraxos-Update
Beschrieben ist die 2. Methode von Frau Dr. Neumann auf
[http://apraxos.de/?q=wiki/multi-user-installation-f%C3%BCr-libre-openoffice]
2 Erweiterte oder abgewandelte Aclient-Installation
═══════════════════════════════════════════════════
Bei der erweiterten Aclient-Installation werden Einstellungen am
PAM-System vorgenommen und es gibt ein Startskript, welches den
Klienten mit den passenden Pfaden startet. Das Skript hat den Vorteil
das man ein einheitliches Vorgehen hat bei der Anbindung des klienten.
2.1 PAM Einstellungen
─────────────────────
Um nicht für jeden Benutzer eine ~/.login zu erstellen und das
Überschreiben dieser zu vermeiden, kann man per PAM auch die “umask”
für ssh-Sessions und Terminallogins einstellen. Bei einem Debian
System werden unterhalb von /etc/pam.d/ die Dateien login und sshd
angepasst.
2.1.1 /etc/pam.d/login
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
An das Ende der Datei fügt man
┌────
│ # Setting UMASK for all ssh based connections (ssh, sftp, scp)
│ session optional pam_umask.so umask=0002
└────
hinzu.
2.1.2 /etc/pam.d/sshd
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
An das Ende der Datei fügt man
┌────
│ # Setting UMASK for all ssh based connections (ssh, sftp, scp)
│ session optional pam_umask.so umask=0002
└────
hinzu
2.2 Startskript
───────────────
Durch dieses Startskript hat man die Möglichkeit den Start von
apraxos durchzuführen unabhängig von der Anzahl der Benutzer und
einheitlich mit demselben Aufruf. Zum Beispiel von einem Mac aus per
Applescript mit:
┌────
│ do shell script "ssh -X terminal1@server /home/praxis/bin/aclient.sh"
└────
Das Skript legt man ausführbar z.B. in /home/praxis/bin/ als
aclient.sh ab
┌────
│ mkdir /home/praxis/bin/
│ cp /tmp/aclient.sh /home/praxis/bin/
│ chmod 755 /home/praxis/bin/aclient.sh
│ chown praxis:praxis /home/praxis/bin/aclient.sh
└────
Ist die Standardinstallation unter */home/praxis/a/* und die
Systembenutzer sind z.B. *terminal01* bis *terminal05* setzt man das
Benutzerprefix auf “*terminal*”
Je nach Shell und Systemeinstellung ziehen die globalen
“umask”-Einstellungen nicht, daher über das PAM System setzen oder wie
hier im Skript nochmal vor der Ausführung von apraxos
┌────
│ #!/bin/bash
│ #
│ # /home/praxis/a/aclient.sh
│ # alternativ /home/praxis/bin/aclient.sh
│ #
│ # apraxos Startskript für aclient Benutzernstallationen
│ #
│ # 2015-10-22 v0.1
│ # - initiales Skript
│ #
│ # Dominik Saar <
│ #
│
│ # Wo sind wir?
│ case $(uname -m) in
│ x86_64)
│ apraxos=apraxos64.unx
│ ;;
│ *)
│ apraxos=apraxos.unx
│ ;;
│ esac
│
│ # Hauptbenutzer
│ praxis=/home/praxis/
│ benutzer=$(ls -ld $praxis | cut -d" " -f3)
│
│ # apraxos Installation
│ # /home/praxis/a/ als Vorgabe
│ apraxos=${praxis}a
│
│ # Benutzerprefix für Systembenutzer
│ # welche sich ber ssh oder XDMCP einloggen
│ # z.B. terminal01, terminal02 usw
│ aclient=terminal
│
│ if [ ! -d $apraxos ] ; then
│ kdialog --error "$apraxos nicht vorhanden, bitte den Admin informieren"
│ fi
│
│ if [ $USER == $benutzer ] ; then
│ cd $apraxos
│ ${apraxos}/${apraxos} &
│ exit 0
│ fi
│
│ # shell voodoo
│ # Die umask kann auch per PAM gesetzt werden
│
│ aclsetup=${praxis}aclient${USER##${aclient}}
│
│ if [ -d ${aclsetup} ] ; then
│ cd ${aclsetup}
│ umask 002
│ ./${apraxos} &
│ exit $?
│ else
│ kdialog --error "Installation für $USER nicht gefunden"
│ fi
└────
2.3 Nachbehandlung nach Update
──────────────────────────────
Das Updateprogramm von apraxos kennt bisher nicht die 2. Setupvariante und
geht davon aus das alle aclient Installationen mit dem Benutzer
aufgerufen werden in dem apraxos installiert ist. Berechtigterweise werden
die Dateiberechtigungen wieder auf Standard gesetzt. Mit einem
beherzten
┌────
│ chown -R praxis:praxis /home/praxis/a/
│ chmod -R 775 /home/praxis/a/
└────
ist aber wieder alles in Ordnung.