Überblick
  
System-Voraussetzungen
 - Betriebssysteme
 - Unterstützte Server
  
Installation und Entfernen
 - Installation
 - Upgrade auf eine neue Version
 - Entfernen von Sharity 3
  
Mit Sharity 3 arbeiten
 - Konfiguration
 - Ein- und Ausloggen
 - Authentifizieren mit Kerberos
 - Der Schlüsselbund
 - Ressourcen durchsuchen
 - /CIFS als magisches Verzeichnis
 - Einloggen und Schlüsselbund-Verwaltung aus der Kommandozeile
 - Mounten von Freitaben aus der Kommandozeile
 - Zugriff auf ACLs
 - Allgemeine Information
  
Dateien auf einem Windows-PC freigeben
 - Konfiguration des Netzwerks
 - Freigeben eines Verzeichnisses
 - Namens- und Browsing-Dienste
  
Tips und Tricks
 - Hilfe zu Konfigurations-Optionen
 - Permanente Mounts
 - Default Login für Domäne
 - Ein Default-Konto konfigurieren
  
Problembehebung
 - Erzeugen eines Debug-Logs
 - Wiederherstellen nach einem Absturz
 - Fehlersuche bei Kerberos und AD
  
Unix Home-Verzeichnisse auf SMB Freigaben
 - Überblick
 - Sharity und DirectControl
 - Integration von Sharity mit anderer Software
 - Einschränkungen
  
Release Notes
  
Software-Lizenz

Unix Home-Verzeichnisse auf SMB Freigaben

Überblick

Wenn Ihr Unternehmen ein gemischtes Netzwerk aus Windows und Unix Computern betreibt, ist es verlockend, für beide die selbe Domänen-Infrastruktur zu benutzen. Diese gemeinsame Infrastruktur wird meist von Windows Domänen-Controllern bereitgestellt, weil es einfacher ist, Unix Computer in die Windows-Domäne einzubinden als umgekehrt.

Folgende Probleme müssen dazu gelöst werden:

  • Authentifizierung. Wenn sich ein Anwender auf einem Unix Computer einloggt, muss das System die Login-Daten beim Domänen-Controller verifizieren.
  • Verzeichnisdienst. Informationen, die normalerweise in den Dateien /etc/passwd, /etc/group usw. gespeichert sind, müssen beim Domänen-Controller abgefragt werden.
  • Home-Verzeichnisse. Wenn für Windows Anwender automatisch Home-Verzeichnisse als Netzwerklaufwerk verbunden werden, dann wollen sie meist das selbe Home-Verzeichnis auch auf Unix benutzen.
Sharity löst nur das Problem der Home-Verzeichnisse. Dazu benötigt es aber Zugriff auf den Verzeichnisdienst und muss Anwender einloggen können. Es sollte also mit den Lösungen für die anderen Punkte zusammenarbeiten.

Im restlichen Teil dieses Kapitels werden zwei Herangehensweisen beschrieben. Die erste ist ein kommerzielles Produkt namens DirectControl der Firma Centrify, das Unix Computer in die Windows Domäne integriert. Im zweiten Teil schlagen wir kein spezielles Produkt vor, sondern beschreiben, wie Sharity mit Software von Drittanbietern zusammen arbeiten kann.

Sharity und DirectControl

Centrify's DirectControl ist eine anwenderfreundliche Lösung zur Integration von Unix Computern in die Windows Domäne. Objective Development und Centrify haben gemeinsam an einem möglichst nahtlosen Zusammenspiel ihrer jeweiligen Programme gearbeitet. Das bedeutet:
  • Sharity braucht nicht nach Passworten zu fragen. Es kann einfach die Authentifizierungs-Daten von DirectControl benutzen.
  • Sharity kann die Zuordnung von Windows Security-IDs (SIDs) auf Unix Benutzer- und Gruppen-IDs (UID/GID) von DirectControl erfragen. Damit ist es möglich, Windows Zugriffskontrolllisten (ACLs) in Unix Dateiattribute zu übersetzen.
  • Sharity und DirectControl arbeiten zusammen, um das Netzwerk-Home-Verzeichnis des Benutzers zu finden.
User Profile

Wo ist das Home-Verzeichnis?

In einer Domäne werden alle Anwender-spezifischen Daten zentral am Domänen-Controller verwaltet. So auch die Position des Home-Verzeichnisses. Um das Home-Verzeichnis auf einen Netzwerk-Pfad zu konfigurieren, starten Sie "Active Directory-Benutzer und -Computer", doppel-klicken Sie dort einen Benutzer und wählen Sie den Abschnitt "Profil" (siehe Beispiel rechts). Dort können Sie einstellen, dass es sich um ein Netzwerk-Laufwerk handelt und welcher Netzwerk-Pfad verbunden werden soll.

Unix Computer können das Verzeichnis natürlich nicht als Laufwerk "Z:" ansprechen, so wie das Windows tut. Sie müssen es an einem bestimmten Pfad im Dateisystem mounten. Ausserdem können auf einer Unix Maschine mehrere Benutzer geichzeitig eingeloggt sein; die Pfade, auf denen gemountet wird, müssen also für jeden Benutzer anders sein. Üblricherweise werden die Home-Verzeichnisse einfach nach dem Login-Namen des Benutzers benannt, z.B. /home/james.

Sharity muss volle Kontrolle über das Verzeichnis mit den Home-Verzeichnissen haben, weil es dort im Bedarfsfall die Home-Verzeichnisse der Benutzer mounten muss. Wir erreichen das am einfachsten, indem dort ein spezielles Dateisystem (x-homes:) gemountet wird. Wenn sich ein Benutzer einloggt und sein Home-Verzeichnis erstmals benutzt wird, fragt Sharity den Domänen-Controller nach dem Netzwerkpfad des Home-Verzeichnisses und verweist mit einem symbolischen Link zu diesem Netzwerk-Pfad.

DirectControl Konfiguration

Wir haben nur eine Anforderung an Ihre DirectControl Konfiguration: Das Unix Home-Verzeichnis der Netzwerk-Benutzer muss auf einen Pfad konfiguriert sein, auf dem Sharitys "x-home:" Dateisystem gemountet ist und es muss den Unix Login-Namen des Benutzers als letzte Komponente enthalten. Beispiele für Home-Verzeichnis Templates in der DirectControl Zonen-Konfiguration:
/nethome/$domain/$user
/nethome/$user
/home/net/$user
Ausserdem empfehlen wir, dass Sie alle Benutzer in die DirectControl Zonen aufnehmen, nicht nur jene, die auch tatsächlich Unix Computer benutzen. Nur so kann auch zu jeder Windows Security-ID (SID) eine entsprechende Unix Benutzer-ID (UID) gefunden werden.

Sharity Konfiguration

Um die Dienste von DirectControl in Anspruch nehmen zu können, muss Sharity dynamische Libraries von DirectControl laden. Centrify empfiehlt daher, dass Sie Ihre Environment-Variablen systemweit so anpassen, dass diese Libraries von allen Programmen verwendet werden. Wenn Sie das nicht tun wollen oder wenn diese Einstellungen zum Zeitpunkt des Systemstarts noch nicht aktiv sind, können Sie sie für Sharity separat setzen. Editieren Sie dazu die Datei /usr/local/sharity3/var/local-profile.sh, z.B. auf Linux:
LD_LIBRARY_PATH=/usr/share/centrifydc/kerberos/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/usr/share/centrifydc/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
Danach müssen Sie sicherstellen, dass das x-homes: Dateissystem dort gemountet ist, wo DirectControl die Benutzer Home-Verzeichnisse erwartet. Das erreichen Sie am besten durch einen Eintrag in der Datei /usr/local/sharity3/var/fstab. Wenn z.B. Ihre Zonen-Template das Benutzer-Home als /nethome/$user definiert, fügen Sie die Zeile
x-homes:company.com /nethome
zu dieser Datei hinzu. Das x-homes: Dateisystem funktioniert übrigens nur, wenn irgendwo das x-browser: Dateisystem (normalerweise auf /CIFS) gemountet ist. Das Verzeichnis /nethome müssen Sie einmal händisch mit mkdir erzeugen.

Mit dieser Konfiguration können Sie sich auf dem Unix Computer einloggen und Ihr Home-Verzeichnis wird automatisch gemountet, z.B.:

login: james
Password:
Last login: Fri Nov 3 15:21:29 on tty1
-bash-3.1$ pwd
/nethome/james
-bash-3.1$ ls -l /nethome
lrwxrwxrwx 1 james domainusers 1024 Nov 6 18:12 james -> /CIFS/homes[server.mycompany.com]/james
Nachdem die grundsätzliche Konfiguration funktioniert, können Sie noch ein paar Feineinstellungen vornehmen. Obwohl die folgenden Parameter in der Datei /usr/local/sharity3/etc/config/*.cfg stehen (und auch dort dokumentiert sind), sollten Sie sie dort nicht ändern. Diese Datei wird nämlich bei jedem Upgrade überschrieben und Ihre Änderungen wären dann verloren. Schreiben Sie Ihre Änderungen stattdessen besser in /usr/local/sharity3/var/local.cfg. Diese Datei wird bei Upgrades nicht verändert. Beispiel:
    main = {
        autoUnmountTimeout = 7200000;   // in ms
    };
    cifs = {
        homesLocalHomeDir = "/home/$user";
    };

autoUnmountTimeout: Wenn ein automatisch gemountetes Verzeichnis so lange nicht benutzt wird, wird es wieder entfernt. Da ein Mount viele System-Ressourcen benötigt, empfehlen wir Ihnen, diese Möglichkeit zu nützen. Bei einem automatischen Unmount können keine Daten verloren gehen, weil Sharity das Verzeichnis bei Bedarf einfach wieder mountet.

Windows ACLs konvertierenhomesLocalHomeDir: Wenn sich ein Benutzer anmeldet, fragt Sharity das Home-Verzeichnis vom Domänen-Controller ab. Wenn keines oder kein Netzwerk-Pfad konfiguriert ist, stellt Sharity ein lokales Verzeichnis (auf der eigenen Festplatte) bereit. Die Variablen $user und $domain werden dazu mit dem Unix Login-Namen des Benutzers und der Domäne ersetzt.

Wenn Sie in der Sharity Applikation im Abschnitt "Optionen" die Option "Windows ACLs konvertieren" wählen (siehe Bild rechts), dann berechnet Sharity die Unix Dateiattribute aus dem Windows Security Descriptor und damit aus der Zugriffskontrollliste (ACL) der Datei. Besitzer und Gruppe der Datei werden aus den entsprechenden Windows-Attributen konvertiert und Zugriffsrechte für Besitzer, Gruppe und die Windows-Gruppe "Jeder" berechnet. Bitte beachten Sie, dass der Zugriff auf den Security Descriptor eine zusätzliche Abfrage beim Server erfordert und somit den Durchsatz reduziert.

Integration von Sharity mit anderer Software

Authentifizierung

Wenn Sharity einen Benutzer beim Server authentifizieren muss, braucht es dafür entweder ein Passwort (für die NTLMv2 Authentifizierung) oder ein gültiges Kerberos-Ticket. Wenn Sie Ihren Unix Computer in die Windows Domäne integrieren wollen, müssen Sie Sharity entweder Ihr Passwort oder ein Kerberos-Ticket zur Verfügung stellen.

Authentifizierung mit Kerberos. Wenn Kerberos auf Ihrem System bereits konfiguriert ist, dann sollte Sharity ohne weitere Konfiguration die Kerberos-Tickets nutzen können. Einige Installation verwenden allerdings ungewöhnliche Datei-Namen für den Ticket-Cache. Um sich auch daran anzupassen, kann Sharity nach dem Ticket-Cache suchen. Öffnen Sie die Datei /usr/local/sharity3/etc/config/cifs.cfg in einem Editor und suchen nach krb5credCacheTemplate. Diese Option enthält ein Shell Matching-Pattern, mit dem potentielle Ticket-Cache Dateien gefiltert werden. Die erste Datei, die zu dem Matching-Pattern passt und dem aktuellen Benutzer gehört, wird als Ticket-Cache verwendet. Wenn Sie diese Option permanent ändern wollen, sollten Sie das in der Datei /usr/local/sharity3/var/local.cfg tun. Weitere Infos dazu finden Sie im vorigen Abschnitt.

Authentifizierung mit Passwort. Wenn Sie Kerberos aus irgendwelchen Gründen nicht verwenden können oder wollen, dann müssen Sie irgendwie zum Klartext-Passwort des Benutzers kommen. Dieses Passwort übergeben Sie dann dem Kommando "sharity login", eventuell gleich mit der Option, es im Schlüsselbund als default zu speichern. Das Hauptproblem hier ist es, das Passwort beim Login abzufangen. Wenn die Authentifizierung in Ihrem System auf PAM basiert, machen Sie eine Web-Suche nach pam_extern und pam_script. Beide Module erlauben es, eigene Kommandos in den Login-Prozess zu schleusen.

Verzeichnisdienst

Wenn Sharity in Active Directory nach dem Home-Verzeichnis eines Benutzers sucht, verwendet es die letzte Komponente das lokalen (Unix-) Home-Verzeichnisses als Suchbegriff. Wir haben die Suchmaske so eingestellt, dass der Suchbegriff mit dem Windows Login-Namen (SAM Account Name) übereinstimmen muss. Sie können aber jede beliebige andere Active Directory Suchabfrage konfigurieren. Der LDAP Suchfilter ist in der Datei /usr/local/sharity3/etc/config/cifs.cfg in der Option ldapAccountNameSearchTemplate definiert. Wie bereits erwähnt, sollten Sie diese Datei besser nicht ändern und Ihre Konfiguration in /usr/local/sharity3/var/local.cfg unterbringen. Die Suchmaske kann die Variablen $user und $domain enthalten.

Wenn Sie die Option "Windows ACLs konvertieren" im Abschnnitt "Optionen" der grafischen Benutzeroberfläche aktivieren, dann sollten Sie auch eine Liste zur Umsetzung von Windows Security IDs (SIDs) auf Unix Benutzer- und Gruppen-IDs (UIDs/GIDs) bereitstellen. Diese Liste wird in der Datei /usr/local/sharity3/var/idmap.cfg konfiguriert und das Dateiformat ist auch dort beschrieben. Immer, wenn Sie diese Datei ändern, sollten Sie auch Sharity davon informieren, sodass es die Liste neu Lädt. Das geschieht am einfachsten mit dem Unix HUP Signal an den Prozess sharityd oder mit dem Kommando sharity reload.

Home-Verzeichnisse

Das x-homes: Dateisystem funktioniert auch hier genau so wie im vorigen Abschnitt beschrieben. Ein typisches Mount-Kommando sieht wie folgt aus:
sharity mount x-homes:company.com /nethome
Der Domänen-Name wird benutzt, um den Benutzer beim richtigen Domänen-Controller zu suchen. Wenn Sie Benutzer aus verschiedenen Domänen haben, müssen Sie eine weitere Verzeichnisebene einziehen. Home-Verzeichnisse werden dann als /nethome/$domain/$user erzeugt. Das x-homes: Dateisystem erkennt die zusätzlche Ebene daran, dass Sie beim Mounten keine Domäne angeben:
sharity mount x-homes: /nethome
Wenn Sie nur ein paar Benutzer haben, können Sie die erforderlichen symbolischen Links auch händisch erzeugen. Damit ersparen Sie sich den Umgang mit dem x-homes: Dateisystem. Wenn z.B. die Home-Verzeichnisse der Benutzer auf den Netzwerk-Pfaden \\server\homes\james, \\server\homes\susie usw. verfügbar sind erzeugen Sie die symbolischen Links im Homes-Verzeichnis wie folgt:
/home/james -> /CIFS/homes[server]/james
/home/susie -> /CIFS/homes[server]/susie
...

Einschränkungen

Unix Home-Verzeichnisse von Windows Servern zu bedienen bring gewisse Einschränkungen: Eigenschaften, die normalerweise von einem Unix Dateisystem (und daher von Unix Home-Verzeichnissen) erwartet werden, sind teilweise bei Windows nicht vorhanden. Obwohl Sharity versucht, fehlende Features und abweichende Semantik so gut wie möglich zu emulieren, sollten Sie die folgenden Themen prüfen:
  • Gross/Klein-Schreibung. Im gegensatz zur Unix-Tradition ist Windows Dateisystemen die Gross/Kleinschreibung egal.
  • Datei-Sperren (file locks). Sharity kann derzeit keine Dateien sperren. Allerdings kann auf den meisten Betriebssystemen erreicht werden, dass beim Versuch, eine Datei zu sperren, keine Fehlermeldung zurückgegeben wird. Die Sperre wird einfach nur nicht durchgeführt.
  • Effektive Zugriffsrechte. Die Unix Zugriffsrechte, die Sharity angibt, werden entweder aus den DOS Dateiattributen oder den Windows Zugriffskontrolllisten (ACLs) abgeleitet. In beiden Fällen geht Information durch die Umrechnung verloren. Eine Vorhersage aufgrund der Unix Dateiattribute, ob ein Benutzer auf eine bestimmte Datei Zugriffsrechte hat, ist daher nicht möglich.
  • Modifikationszeit von Verzeichnissen. Windows aktualisiert nicht die Zeit der letzten Änderung, wenn in einem Verzeichnis Dateien dazu kommen oder entfernt werden. Unix Applikationen aber auch das Betriebssystem prüfen oft die Gültigkeit von Caches anhand dieser Modifikationszeit. Wenn das Verzeichnis hingegen über Sharity verändert wird, dann setzt es (wenn möglich) auch die Modifikationszeit.
  • Symbolische Links. Sharity kann symbolische Links emulieren, indem es auf Windows eine Datei mit ganz speziellen DOS Attributen erzeugt und den Ziel-Pfad hineinschreibt. Dieses Verhalten muss allerdings in den Optionen eingeschaltet werden, weil einige Windows System-Dateien genau diese DOS Attribute aufweisen und daher als symbolischer Link dargestellt werden.
  • Hard Links. Sharity kann Hard Links emulieren, indem es die Datei kopiert. Das ist natürlich keine echte Emulation, aber doch die beste Annäherung an einen Hard Link, die mit CIFS möglich ist. Auch dieses Verhalten muss als Option aktiviert werden.
  • Unix Devices, Unix Domain Sockets, Pipes. Sharity kann diese Dateisystem-Objekte nicht darstellen.
  • Zeitabweichungen bei Datei-Attributen. Abhängig von mehreren Faktoren (wie z.B. Server Betriebssystem, ob die Datei geöffnet ist usw.) können bestimmte Datei-Attribute nicht verfügbar sein. Nur die Datei-Modifikationszeit mit einer Genauigkeit von +/- 2 Sekunden ist immer verfügbar.


Copyright © 2004 - 2007 by OBJECTIVE DEVELOPMENT Software GmbHDruckversion