Moin,
[quote=“roland.gsell”]Ich habe auch noch eine Frage zu dem Thema:
Bei einem Kunden wurde ebenfalls das Windows-Verzeichnis bei neuen Usern nicht automatisch angelegt.
Ich habe dann am System den Fehler gesucht und festgestellt, dass der Profilordner (welcher ein anderer ist als das Windows-Home- oder Linux-Home-Verzeichnis) sehr wohl angelegt wird - das Home-Verzeichnis aber nicht.[/quote]
Das Linux-Home-Verzeichnis wird unter UCS normalerweise automatisch angelegt, wenn eine PAM-Session für den User gestartet wird. Das ist in vielen Situationen der Fall, z.B. bei Anmeldung via Samba, via FTP, an einem PAM-benutzenden Mailserver… Das geschieht über das das PAM-Modul »pam_mkhomedir.so«, das in »/etc/pam/common-session« aufgerufen wird; die »common-session« wiederum wird von den ganzen dienstspezifischen PAM-Konfigurationsdateien includiert.
Das passiert aber nur, wenn die Baseconfig-Variable »homedir/create« gesetzt ist.
Das ist aber bisher nur das nackte Home. Beim Anlegen des Homes wird allerdings auch gleich noch das Script »univention-skel« aufgerufen (siehe wieder »common-session«, »session optional pam_runasroot.so user program=/usr/bin/univention-skel«). Dieses fungiert ähnlich wie der Skeleton-Mechanismus vom »useradd«-Befehl und bestückt ein leeres Home-Verzeichnis mit gewissen Dateien und Verzeichnissen aus »/etc/univention/skel«. Und hier wird dann normalerweise auch »windows-profiles« angelegt.
Hinzu kommt noch das Script »univention-mount-homedir«, das dafür zuständig ist, das Home via NFS zu mounten, sofern das konfiguriert ist. Auch dieses Script prüft, ob das Home existiert und legt es an, falls nicht.
Prüfen Sie also bitte auf dem Server, auf dem die Profilverzeichnisse liegen:
[ol][li]Enthält »/etc/pam.d/samba« ein »@include /etc/pam.d/common-session«?[/li]
[li]Ist die UCR-Variable »homedir/create« auf »yes« oder »true« gesetzt?[/li]
[li]Enthält »/etc/pam.d/common-session« die Zeile »session required pam_mkhomedir.so skel=/etc/skel umask=0066«?[/li]
[li]Enthält »/etc/pam.d/common-session« die Zeile »session optional pam_runasroot.so user program=/usr/bin/univention-skel«?[/li]
[li]Existiert »/etc/univention/skel«, und ist darin wiederum ein Unterverzeichnis namens »windows-profiles«?[/li][/ol]
Wenn »univention-mount-homedir« ein Verzeichnis anlegt, dann steht da übrigens eine Zeile in »/var/log/user.log«: »Oct 5 11:43:29 master univention-mount-homedir: Creating home directory ‘/home/mbunkus’«
Das sollte eigentlich alles sein, was nötig ist, damit sowohl Home-Verzeichnisse als auch Profil-Verzeichnisse in den Homes automatisch angelegt werden. Klappt das nicht, so kann man in »/usr/bin/univention-skel« auch Debugging aktivieren (die Zeile »# sys.stdout = open( ‘/tmp/univention-skel.log’, ‘w’ )« einkommentieren — ACHTUNG! Anschließend wieder deaktivieren, sonst ist das ein Sicherheitsproblem) und sich die Ausgaben anschauen.
Ich rate von Experimenten wie eigenen »root preexec«-Scripten eher ab. Man kann diese nutzen, wenn die Profilverzeichnisse nicht im Linux-Home des Users liegen, sondern in einem anderen Pfad.
Falls die Profile aber im Linux-Home des Users liegen, so rate ich dringend zu debuggen, warum das automatische Anlegen nicht funktioniert.
Das ist letztlich keine gute Idee, weil das Home dadurch ziemlich zugemüllt wird, und ein User eher mal denkt »och, das Unterverzeichnis default.V5 kann ich doch löschen«, als wenn er nur »windows-profiles« sieht und weiß, wofür das da ist.
Das ist definitiv nicht Standard und wurde von Ihnen oder Ihrem Kunden manuell erstellt. Das sieht also schon nach einem Workaround für ein nicht richtig gefixtes Problem aus.
Gruß,
mosu