Verwaltung der Accounts

Wenn ein Benutzer neue Software zur Steuerung der Bahn geschrieben hat, muß diese möglichst einfach auf die PC104-Rechner verteilt werden. Der eleganteste Weg hierfür führt über ein Austauschverzeichnis, das auf den Workstations des Lehrstuhl direkt erreichbar ist und auch von allen PC104-Rechnern gemountet wird. Hierin gibt es für jeden registrierten Benutzer ein Verzeichnis mit dessen Namen und entsprechenden Rechten, auf den eingebetteten Systemen entspricht das Austauschverzeichnis /home. Die notwendige Voraussetzung für dieses Verfahren ist, daß die Benutzer in allen beteiligten Systemen gleich registriert sind.

Neuen Benutzer anlegen

Die folgenden Schritte müssen als root auf dem Server ausgeführt werden. Sie richten auf allen PC104-Knoten einen Benutzer ein, der im Lehrstuhlnetz bereits bekannt sein muß.

  ACCOUNT=pc104
  CLIENTS=/export/0/home/pc104/clients
  ANAME=`id -nu $ACCOUNT`
  AGROUP=`id -ng $ACCOUNT`
  AUID=`id -u $ACCOUNT`
  AGID=`id -g $ACCOUNT`

Zunächst wird ein leeres Homeverzeichnis mit den entsprechenden Berechtigungen angelegt.

  rm -rf $CLIENTS/home/$ANAME
  install -d -m755 -o$ANAME -g$AGROUP $CLIENTS/home/$ANAME

Die Datei .rhosts erlaubt einen Login ohne Paßwort von definierten Accounts.

  echo $ANAME |  \
    awk '{ for (i=0; i<25; i++) printf("node%02i %s\n",i,$0);
         printf("knopf %s\nlukas %s\n",$0,$0); }' \
    > $CLIENTS/home/$ANAME/.rhosts
  chmod 600 $CLIENTS/home/$ANAME/.rhosts
  chown $ANAME.$AGROUP $CLIENTS/home/$ANAME/.rhosts

Zum Schluß wird der Benutzer in die Datenbanken der PC104-Rechner eingetragen.

  for FILE in $CLIENTS/node*/etc/passwd; do \
    echo $ANAME:x:$AUID:$AGID:$ACCOUNT user:/home/$ANAME:/bin/sh >> $FILE; \
  done
  for FILE in $CLIENTS/node*/etc/group; do \
    echo $AGROUP:x:$AGID: >> $FILE; \
  done
  for FILE in $CLIENTS/node*/etc/shadow; do \
    echo $ANAME:*:10933:0:99999:7::: >> $FILE; \
  done

Der so angemeldete Benutzer kann ab jetzt auf sein Verzeichnis im Lehrstuhlnetzwerk unter /home/pc104/clients/home/<name&gr; oder auf den PC104-Rechnern direkt über /home/<name&gr; zugreifen. Ein Login ist per rsh von den Rechnern Knopf und Lukas aus möglich.

Vorhandenen Benutzer löschen

Nicht mehr benötigte Accounts können einfach wieder aus den Datenbanken der PC104-Rechner entfernt werden. Auch diese Schritte müssen als root auf dem Server durchgeführt werden.

  ACCOUNT=pc104
  CLIENTS=/export/0/home/pc104/clients
  ANAME=`id -nu $ACCOUNT`

Zuerst werden die Einträge in den Benutzerdatenbanken der Systeme gelöscht.

  sed -i -e '/^'$ANAME':/d;' $CLIENTS/node*/etc/{passwd,shadow,group}

Zum Schluß wird das Homeverzeichnis des Benutzers entfernt.

  rm -rf $CLIENTS/home/$ANAME