User Homeverzeichnisse

In Anbetracht der Unsicherheit von NFSv3 gibt es derzeit nicht viele Alternativen.

Zu überlegen ist, wie die Sache mit der Konfiguration abgehandelt wird: Konfigurationsdateien und ob bestimmte Dienste wie/wann gestartet werden (müssen).

AFS

Scheint eher in die Geschichte der Netzwerkdateisysteme einzugehen. Die mögliche Konfiguration ist für SuSE10.1 noch in der functions-10.1 enthalten, in der functions-10.2 deshalb nicht mehr ...

NFSv4

Sollte mit Kerberos-Unterstützung laufen und benötigt dazu die Dienste idmapd und gssd. Dazu werden wieder die beiden Konfigurationsdateien /etc/krb5.conf und /etc/idmapd.conf gebraucht.

Für den Betrieb im RZ-Uni-FR siehe auch ~/client-config/nextgen.tgz, speziell auch postinit.local.

Das Einbinden der Homeverzeichnisse läuft dann mittels Automounter, der auf /home sitzt.

Dazu muss jedoch auch PAM entsprechend angepasst sein (/etc/pam.d/common-auth(-pc)):

auth    required        pam_env.so
auth    sufficient      pam_unix2.so
auth    sufficient      pam_krb5.so     use_first_pass
auth    required        pam_ldap.so     use_first_pass

Vorsicht: Bei SuSE10.2 ist /etc/pam.d/common-auth ein Link, also muss man /etc/pam.d/common-auth-pc fürs Kopieren vorhalten.

Samba

Zentraler Ansatzpunkt ist, anders als bei NFSv3, v4 - PAM:
  • pam_mount.so ist ein flexibles Modul, welches alle möglichen PW-Authentifizierten Mount-Vorgänge, also auch SMB oder besser gleich CIFS, starten kann
  • AutoFS wird nicht benutzt, wichtig ist aber dass bspw. in /home geschrieben werden kann (TEMPFS).
  • pam_mount.so muss entsprechend in den Stack gehängt werden. Es wird für die einzelnen Mounts in /etc/security/pam_mount.conf eingerichtet:
debug 1
mkmountpoint 1
options_allow   * # etwas grosszuegig so
# die benoetigten Mount-Helfer muessen definiert sein (Rest kann man auskommentieren)
cifsmount /bin/mount -t cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o "user=%(USER),uid=%(USER
UID),gid=%(USERGID)%(before=\",\" OPTIONS)" 
umount -l /bin/umount %(MNTPT) # hat irgendwie noch nicht geklappt
# hier wirds wichtig (kann man etwas mit autofs vergleichen)
# Volumes that will be mounted when user triggers the pam_mount module
# (usually at login).
#
# Format (one line):
# volume <user> <type> <server> <volume> <mount point>
#        <mount options> <fs key cipher> <fs key path>
volume * cifs cifs-server.site & /home/& uid=&,dmask=751 - -

Im /etc/pam.d, z.B. "common-auth":

auth    required        pam_env.so
auth    required        pam_mount.so
auth    sufficient      pam_ldap.so use_first_pass
auth    required        pam_unix2.so use_first_pass

Im "common-session" (ist wohl fürs Aushängen wichtig!?):

session required        pam_limits.so
session required        pam_unix2.so
session optional        pam_umask.so
session optional        pam_mount.so

Hier wäre zu überprüfen, ob die Homeverzeichnisse nur auf einem Linux-Samba oder auch von einem Windows-CIFS funktionieren.


Userdaten auf USB-Sticks

Ein alternativer (optionaler) Ansatz wäre, Benutzer ihr Homeverzeichnis auf USB-Sticks mitnehmen zu lassen. Interessant daran ist:
  • es laufen keine Benutzerdaten übers Netzwerk
  • im Prinzip kann auf Authentifizierung verzichtet werden
  • es könnte mit der PreBoot-Funktionalität verknüpft werden

Home-Verzeichnisse auf USB sind dann besonders interessant, wenn es eine größere, verteilte Landschaft von stateless Clients oder ähnlich betriebenen Maschinen gibt. Wenn man jedoch nicht nur seine Daten (Dokumente, Mails, MP3s, ...) auf dem Stick haben will, sondern auch alle Einstellungen des Desktops, der Applikationen, ... kommt man nicht drumherum eine Art Login zu verwenden, selbst wenn die Maschine in einem Kiosk-Mode ohne Authentifizierung läuft. Anders wird sonst die aufzubauende Oberfläche nicht vom angeschlossenen Medium aus initialisiert.

Damit nicht versehentlich falsche Partitionen eingebunden (und verändert werden), könnte man die Partition mit z.B. ID46 markieren und in dieser nach einem Verzeichnis /home/<user> suchen. Wenn man noch keinen User konfiguriert hat (Kiosk-Mode), dann könnte der Kiosk-User die ID bekommen, die im <user> steht (dürfte dann nur einen geben).

Evtl. wäre hier auch pam_mount.so interessant, gerade wenn es um verschlüsselte Daten geht.

Userdaten verschlüsselt speichern

Im Prinzip sollten Userdaten auch Systemadministratoren verborgen sein. Dies lässt sich durch verschlüsselte Speicherung der Benutzerdaten erreichen. Dafür bietet sich encfs im Userspace an. Der encfs-mount sollte dann von PAM lokal abgehandelt werden, womit auf jeden Fall eine Authentifizierungsschnittstelle benötigt wird. Siehe auch pam_mount.so weiter oben ...