Drucken

                 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                  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 <Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!>
  │ #
  │
  │ # 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.