Verständnisfrage Heimatverzeichnis

german

#1

Guten Abend,

ich glaube ich habe die Konfiguration des Heimatverzeichnisses unter Linux noch nicht ganz verstanden. Also was möchte ich erreichen:

  • Alle User die sich an einem Linux Client anmelden sollen natürlich erstmal ein lokales Heimatverzeichnis auf dem Client haben (/home//)
  • Zusätzlich soll für jeden neuen Benutzer eine persönliche Netzwerkfreigabe eingerichtet werden auf die nur dieder User Zugriff hat, Besonderheit hier das Verzeichnis soll auf einer zweiten Festplatte auf dem Server liegen also nicht im default /home auf dem Server

Probiert habe ich folgendes:
UNIX-Heimatverzeichnis => /home/domain/user1 (dadurch wird aber automatisch ein Verzeichnis auf dem Server unter /home/rknert/user1 angelegt das will ich aber nicht! Hier geht es dachte ich rein um das LOKALE home)

Heimatverzeichnisfreigabe => Hierüber dachte ich eigentlich ist es möglich zu definieren wo das Heimatverzeichnis auf dem Server liegen soll… Funktioniert aber nicht…)

Was mache ich falsch?

Schöne Grüße
Robert


#2

Das, was Sie beim Unix-Heimatverzeichnis eintragen, ist erst einmal nichts weiter als das Verzeichnis, das aus der Passwortdatenbank zurückgeliefert wird, wenn der User nachgeschlagen wird. Das ist also auch dasjenige, auf das $HOME verweist.

Die Heimatverzeichnisfreigabe kommt ausschließlich dann zum Zuge, wenn das Heimatverzeichnis auf dem Client vom Server via NFS eingebunden wird. Ansonsten hat sie keine Auswirkungen.

Wie dieses Heimatverzeichnis nun benutzt wird, ist eine andere Frage. Unter Univention gibt es ein PAM-Modul, das beim Einloggen eines Users automatisch dessen Home-Verzeichnis anlegt. Dies heißt »pam_mkhomedir.so« und ist normalerweise in »/etc/pam.d/common-session« zu finden. Dieses PAM wird auf dem jeweiligen Rechner ausgeführt, wenn sich jemand an genau dem Rechner anmeldet, egal ob via SSH, IMAP, Samba…

Allerdings ist das eine rein lokale Geschichte: pam_mkhomedir.so wird auf dem Server ausgeführt, wenn Sie sich auf dem Server anmelden, und auf dem Client, wenn Sie sich am Client anmelden. Eine Anmeldung am Client hat aber per se noch keine Auswirkung auf pam_mkhomedir.so auf dem Server – das passiert wirklich erst, wenn Sie sich am Server anmelden. Wie auch immer.

Wenn Sie verhindern wollen, dass auf dem Server ein Homeverzeichnis angelegt wird, dann ist das relativ einfach, da dieses Verhalten über die Baseconfig-Variable »homedir/create« gesteuert wird. Wenn Sie sie auf »false« setzen, dann sollte das schlicht nicht mehr geschehen.

Um nun Ihren ursprünglichen Plan zu beantworten, würde ich grob folgendes Vorgehen empfehlen:

[ol][li]Auf dem Server »homedir/create« auf false setzen, um das Erzeugen von Heimatverzeichnissen zu verhindern (fraglich, siehe unten)[/li]
[li]Auf dem Server /home auf die zweite Festplatte verlagern und /home zu einem Symlink auf das Zielverzeichnis[/li]
[li]In der UMC die Home-Freigabe für den Server so anpassen, dass sie auf das Verzeichnis auf der zweiten Festplatte verweist[/li]
[li]In der UMC die Clients so konfigurieren, dass sie /home nicht per NFS mounten sondern ausschließlich lokal haben[/li][/ol]

In Schritt 3 haben Sie die »Freigabe, auf die nur derjenige User Zugriff hat«. Wenn Sie aber deaktivieren, dass das Verzeichnis automatisch beim Login angelegt wird, dann müssen Sie diese Verzeichnisse alle manuell anlegen. Daher hab ich in Schritt 1 »fraglich« geschrieben.