Sharity 3 Handbuch
Copyright © 2004 - 2007 by OBJECTIVE DEVELOPMENT Software GmbH
http://www.obdev.at/
<< Zurück zum Inhaltsverzeichnis
<< Zurück zum Inhaltsverzeichnis
gzcat PAKET.tar.gz | tar xf -
./setupEs ist wichtig, dass Sie das Skript aus dem aktuellen Verzeichnis heraus starten.
sharity license Lizenz-Schlüsseloder in der grafischen Benutzeroberfläche "sharitygui" ein.
Nachdem Sie Sharity installiert haben, sollten Sie die grafische Bentuzeroberfläche in einer X-Windows Sitzung starten. Sharity fragt über diese Benutzeroberfläche bei Bedarf nach Passworten. Die grafische Benutzeroberfläche wird im Verzeichnis für Programme installiert und hat den Namen "sharitygui".
Sobald sharitygui läuft, können Sie im Browser-Verzeichnis Ihr Netzwerk erkunden. Wenn Sie die Default-Einstellungen benutzen, ist dieses Verzeichnis in /CIFS.
Eine Kopie des "uninstall" Skripts ist auch im Installations-Verzeichnis verfügbar. Wenn Sie diese Kopie benutzen, machen Sie bitte vorher ein Backup des Skripts, da es sich selbst löscht (es ist ja Teil der Installation).
<< Zurück zum Inhaltsverzeichnis
Alle Konfigurations-Daten, die während der Installation abgefragt wurden (ausgenommen die Datei-Pfade der Installation), können jederzeit in der grafischen Benutzeroberfläche im Abschnitt "Optionen" geändert werden. Detail-Informationen über die einzelnen Optionen lesen Sie bitte in der Hilfe des Programms nach. Klicken Sie die Schaltfläche mit dem Fragezeichen (Hilfe) um das Hilfe-Fenster zu öffnen.
Der Abschnitt "Logins" in der Benutzeroberfläche zeigt alle Server und Freigaben, für die Sharity Login-Daten im Speicher hält. Wenn Sie die Schaltfläche "Logout" klicken, werden Ihre Login-Daten aus dem Hauptspeicher gelöscht (nicht aber aus dem Schlüsselbund).
Kerberos funktioniert nur dann wie oben beschrieben, wenn es richtig konfiguriert ist und Ihr System es auch verwendet. Wenn Sie sich am Computer anmelden, verwendet er Ihren Namen und Ihr Passwort dazu, ein sogenanntes "Kerberos-Ticket" beim "Key Distribution Center" (das ist normalerweise der Windows Domänen-Controller) anzufordern. Dieses anfägliche Ticket, das "Ticket Granting Ticket", hat die selbe Funktion wie sonst Ihr Passwort und steht ab nun allen Ihren Programmen zur Verfügung (im Gegensatz zu Ihrem Passwort, das keinem Ihrer Programme zugänglich ist).
Wenn Ihr System Kerberos benutzt und Sie bereits ein Ticket Granting Ticket haben, das ein Login bei einem Server ermöglicht, dann fragt Sharity Sie nicht mehr nach Ihren Login-Daten. Stattdessen benutzt es den Kerberos-Mechanismus um das für ein Login am Server notwendige Ticket zu erlangen. In der Benutzeroberfläche erkennen Sie Logins auf Basis von Kerberos-Tickets an der Bezeichnung "Kerberos" in der rechtesten Spalte der Login-Liste.
Kerberos ist ein recht komplexes System und erfordert eine korrekte Konfiguration. Bitte fragen Sie Ihren Systemadministrator, wie Sie Ihren Computer in die Kerberos-Domäne einbinden können. Weitere Informationen zu Kerberos und eine gute Link-Sammlung finden Sie bei Wikipedia (englischsprachig).
Wenn Sie mit Kerberos authentifizieren und die Unix Computer in die Windows Domäne integrieren wollen, dann empfehlen wir Ihnen Centrify's DirectControl. DirectControl ist ein einfach zu installierendes und einfach zu wartendes Software-Paket, das auch Kerberos enthält.
Um Login-Daten zum Schlüsselbund hinzuzufügen, loggen Sie sich zunächst wie üblich ein. Ihr Login wird in der Benutzeroberfläche im Abschnitt "Logins" gelistet. Selektieren Sie nun dieses Login und klicken Sie die Schaltfläche "-> Schlüsselbund". Sharity schaltet gleich zum Abschnitt "Schlüsselbund" um, wo Sie den neu angelegten Eintrag prüfen können.
Gespeicherte Login-Daten gelten zunächst nur für einen Server oder eine Freigabe. Der Server oder die Freigabe wird in URL-Notation für jeden Eintrag angezeigt. Wenn Sie nun einen Eintrag auswählen, können Sie ihn über das "Aktionen"-Menü zum Default für die Domäne machen oder anderen Anwendern zur Verfügung stellen. Login-Daten für Server werden mit dem URL-Schema "smb://servername" angezeigt. Zur Unterscheidung werden Login-Daten für Domänen mit Grossbuchstaben als "smb://DOMÄNENNAME" angezeigt.
Informationen im Schlüsselbund werden verschlüsselt auf der Festplatte Ihres Computers gespeichert. Während der Installation von Sharity wurden Sie nach einem Generalpasswort gefragt, das für diese Verschlüsselung verwendet wird. Sie können das Generalpasswort jederzeit mit dem Menüpunkt "Generalpasswort für den Schlüsselbund setzen..." im "Aktionen"-Menü oder mit dem Befehl "sharity keychain setpass" aus der Kommandozeile ändern.
Damit Sharity auf die verschlüsselten Passworte ohne Eingabe des Generalpassworts zugreifen kann, wird auch das Generalpasswort verschlüsselt gespeichert. Für diese Verschlüsselung kann allerdings (aus offensichtlichen Gründen) nicht das Generalpasswort selbst verwendet werden. Stattdessen verwendet Sharity dazu ein Maschinen-Passwort, das aus maschinenspezifischen Informationen gewonnen wird. Solange sich diese Information nicht ändern, kann Sharity auf den Schlüsselbund ohne Hilfe des Anwenders zugreifen. Nach einem Upgrade oder dem Einspielen eines Backups kann es allerdings notwendig sein, das Generalpasswort erneut einzugeben.
Das /CIFS Verzeichnis hat die selbe Funktion wie die "Netzwerkumgebung" in Windows. Nach einem Neustart enthät es nur ein oder zwei Unterverzeichnisse: "entire_network" und "active_directory" (letzteres nur, wenn Sie auch das Kerberos-Modul installiert haben). Das Verzeichnis "entire_network" zeigt alle Netbios-Domänen und Arbeitsgruppen an, die in Ihrem Netzwerk-Segment bekannt sind. Tiefer in der Verzeichnis-Hierarchie finden Sie dann die Computer, die Mitglieder der jeweiligen Domäne oder Arbeitsgruppe sind, darunter die Freigaben des ausgewählten Computers. Die Freigaben werden als symbolische Links implementiert, die auf Verzeichnisse verweisen, auf denen die Freigaben beim Zugriff automatisch gemountet werden. Ein Beispiel:
# ls -l /CIFS/ total 0 dr-xr-xr-x 2 root root 16 2 Jun 22:48 active_directory dr-xr-xr-x 3 root root 24 2 Jun 22:48 entire_network # ls -l /CIFS/entire_network/ total 0 dr-xr-xr-x 4 root root 32 2 Jun 22:50 workgroup # ls -l /CIFS/entire_network/workgroup/ total 0 dr-xr-xr-x 2 root root 16 2 Jun 22:51 ibook dr-xr-xr-x 7 root root 56 2 Jun 22:51 server # ls -l /CIFS/entire_network/workgroup/server/ total 6 lrwxrwxrwt 1 root root 1024 2 Jun 22:52 docs -> /CIFS/docs[server] lrwxrwxrwt 1 root root 1024 2 Jun 22:52 ftp -> /CIFS/ftp[server] lrwxrwxrwt 1 root root 1024 2 Jun 22:52 web -> /CIFS/web[server]
Das "active_directory" Verzeichnis in /CIFS funktioniert nur, wenn Kerberos auf Ihrem Computer korrekt konfiguriert und in eine Windows 2000 Domäne eingebunden ist. Es zeigt in der ersten Ebene die Domänen, die Ihr Domänen-Controller kennt. Von dort aus können Sie die Ressourcen der Domäne weiter inspizieren...
Das Auflisten von Domänen, Arbeitsgruppen und Servern im "entire_network" Verzeichnis basiert auf Netbios Sammelrufen. Dieses Verfahren kann fehlschlagen, wenn in Ihrem Netzwerk-Segment kein Computer über die notwendigen Informationen verfügt oder wenn Ihr Administrator das Netbios-Protokoll abgeschaltet hat. In diesem Fall können Sie auf das "active_directory" Verzeichnis umsteigen oder die Ressourcen, die Sie Benötigen, händisch in der Sharity Benutzeroberfläche anlegen. Wechseln Sie dazu in den Abschnitt "Ressourcen" und klicken dort die "Hilfe"-Schaltfläche um weitere Informationen zum Anlegen von Ressourcen bekommen.
ls -l /CIFS/docs\[server\]/(Achtung: Der umgekehrte Schrägstrich ist bei den meisten Shells notwendig um die eckige Klammer als normales Text-Zeichen zu markieren. Alternativ können Sie auch einfache oder doppelte Anführungszeichen um den Pfad verwenden.)
Der obige Befehl mountet die Freigabe (in Windows-Notation) \\server\docs auf dem Verzeichnis /CIFS/docs[server] und zeigt ihren Inhalt an. Von nun an wird docs[server] als Unterverzeichnis von /CIFS angezeigt. Oder in anderen Worten: /CIFS enthält auch automatisch gemountete Freigaben. Das ist übrigens auch das Verfahren, nach dem die Browser in "entire_network" und "active_directory" die Freigaben verfügbar machen.
Statt eine Freigabe explizit mit "sharity mount" oder mit der Benutzeroberfläche zu mounten, können Sie auch den automounter über einen symbolischen Link benutzen. Ein Beispiel: Nehmen wir an, Sie wollen die Freigabe \\server\docs in Ihrem eigenen Verzeichnis unter dem Namen "freigabe" verfügbar haben. Erzeugen Sie einfach einen symbolischen Link:
ln -s /CIFS/docs\[server\] ~/freigabeAlle Mounts und Automounts werden in der Benutzeroberfläche im Abschnitt "Mounts" angezeigt. Um einen Mount wieder los zu werden, wählen Sie ihn in der Liste aus und klicken die Schaltfläche "Unmount".
Die Meisten Funktionen der grafischen Benutzeroberfläche haben analoge Kommandozeilen-Befehle. Mit dem Befehl "sharity -h" erhalten Sie eine Liste aller verfügbaren Befehle. Weitere Informationen zu einem Befehl bekommen Sie mit "sharity Befehl -h" oder "sharity man Befehl".
Einige gebräuchliche Beispiele:
Um sich bei einem Server einzuloggen:
sharity login smb://myserverUm Ihr Passwort für Server "myserver" im Schlüsselbund zu speichern:
sharity login -s smb://myserverUm den Inhalt des Schlüsselbundes anzuzeigen:
sharity keychainUm das Passwort für Server "myserver" aus dem Schlüsselbund zu löschen:
sharity keychain delete smb://myserverUm Ihr Generalpasswort zu ändern:
sharity keychain setpass
Wenn Sie allerdings wirklich einen Mount einer Freigabe auf einem bestimmten Verzeichnis wünschen, können Sie das wie folgt erreichen (z.B.):
sharity mount smb://server/docs /mountpointDas Verzeichnis /mountpoint muss existieren, wenn das Kommando durchgeführt wird und es muss jenem Anwender gehören, der das Kommando durchführt. Für weiterführende Informationen über sharity mount geben Sie bitte sharity man mount ein.
Mounts, die auf die gerade beschriebene Weise hergestellt wurden, sind nicht permanent: Nach einem Reboot oder Neustart von Sharity sind sie weg. Für permanente Mounts muss sharity mount beim Systemstart aufgerufen werden. Sharity bietet dafür einen Mechanismus an: Der Inhalt der Datei /usr/local/sharity3/var/fstab wird beim Start Zeile für Zeile an sharity mount übergeben.
Zum Anzeigen von ACLs für eine Datei oder ein Verzeichnis verwenden Sie den Befehl
sharity acl get PfadUm einen Eintrag zu einer ACL hinzuzufügen, verwenden Sie (zum Beispiel):
sharity acl add allow friend@domain.com "Read data" datei.txtMehr Informationen über den Befehl "sharity acl" und wie man damit ACLs manipuliert bekommen Sie mit "sharity acl -h" oder "sharity man acl".
Zur bearbeitung von ACLs in menschenlesbarer Form (statt SID-Nummern) muss das Sharity Kerberos-Modul installiert sein.
Normalerweise sind die Unix Dateiattribute von den Windows ACLs unabhängig. Sie werden aus den DOS Dateiattributen wie "System" oder "Schreibschutz" berechnet. Datei-Besitzer und -Gruppe sind dabei immer die des gerade zugreifenden Anwenders.
Wenn ein Dienst zur Umsetzung von Windows Security-IDs (SIDs) auf Unix Benutzer- und Gruppen-IDs verfügbar ist (etwa DirectControl von Centrify), dann kann Sharity die Dateiattribute auch aus den Windows ACLs berechnen; siehe dazu die Option "Windows ACLs konvertieren" im Abschnitt "Optionen" der Sharity Benutzeroberfläche.
<< Zurück zum Inhaltsverzeichnis
ping 192.168.1.55Wenn ping funktioniert, dann funktioniert auch die Kommunikation auf Internet-Protokoll Ebene. Wenn nicht, klicken Sie mit der rechten Maustaste auf die "Netzwerkumgebung" am Schreibtisch des Windows-PCs, wählen Sie "Eigenschaften", doppel-klicken Sie Ihren Netzwerk-Adapter und klicken Sie die Schaltfläche "Eigenschaften". Sie sollten nun ein Fenster mit verschiedenen Diensten und Protokollen sehen. Eines der Protokolle ist "Internetprotokoll (TCP/IP)". Wählen Sie dieses Protokoll aus und klicken Sie auf "Eigenschaften". Hier können Sie die TCP/IP Parameter Ihres Computers einstellen. Benutzen Sie gegebenenfallsl auch die Windows-Hilfe für dieses Fenster. Bitte beachten Sie, dass nur Administrator-Anwender Änderungen vornehmen können!
Sobald ping und somit die IP-Ebene funktioniert, können Sie die nächste Ebene, nämlich TCP testen. Das geht am leichtesten von der Unix Maschine aus mit dem "telnet" Kommandozeilen-Befehl. Mit der Beispiel-Adresse von zuvor für den Windows-PC tippen Sie:
telnet 192.168.1.55 139Dieser Befehl versucht, eine TCP-Verbindung zu Port 139 des anderen Computers herzustellen. Drei verschiedene Resultate sind möglich:
(1) Das Port ist erreichbar und alles funktioniert wie erwartet:
$ telnet 192.168.1.55 139Alles ist OK und Sie können die telnet-Sitzung mit "^]" und dann "q" abbrechen oder auf eine Zeitüberschreitung warten.
Trying 192.168.1.55...
Connected to 192.168.1.55.
Escape character is '^]'.
(2) Das Port ist nicht "offen":
$ telnet 192.168.1.55 139In diesem Fall ist der Server-Dienst auf der Windows-Seite wahrscheinlich nicht gestartet oder Netbios über TCP ist nicht aktiviert. Gehen Sie wie zuvor zur Liste der Dienste und Protokolle, aber statt TCP/IP sehen Sie sich "Datei- und Druckfreigabe für Microsoft-Netzwerke" an. Stellen Sie sicher, dass dieser Dienst installiert und aktiviert ist.
Trying 192.168.1.55...
telnet: connect to address 192.168.1.55: Connection refused
telnet: Unable to connect to remote host
(3) Das Port ist nicht erreichbar:
$ telnet 192.168.1.55 139Dann bleibt telnet hängen. Nach ein paar Minuten kommt dann:
Trying 192.168.1.55...
telnet: connect to address 192.168.1.55: Operation timed outIn diesem Fall wird die Verbindung wahrscheinlich von einer Firewall blockiert. Bitte stellen Sie sicher, dass eine etwaige Firewall die TCP Ports 139 und 445 sowie die UDP Ports 137 und 138 durchlässt.
telnet: Unable to connect to remote host
Wenn am Server Netbios über TCP nicht aktiviert ist, kann sich Sharity trotzdem verbinden. Probieren Sie in diesem Fall Port 445 statt 139 um sicher zu gehen, dass zumindest das CIFS-Port offen ist.
Beim Verstehen des Freigabe-Dialogs kann Ihnen folgende Information helfen: SMB/CIFS hat zwei Betriebsmodi: Zugriffskontrolle auf Benutzer-Ebene und Zugriffskontrolle auf Freigabe-Ebene. Im ersteren Fall hat jeder Anwender seine eigenen Login-Daten. Nachdem er sich beim Server angemeldet hat, hat er Zugriff auf alle Freigaben. Im zweiten Fall hat jede Freigabe ein eigenes Passwort und jeder Anwender, der das Passwort kennt, hat Zugriff auf die Freigabe. Windows 95, 98 und ME sind grundsätzlich fü Zugriffskontrolle auf Freigabe-Ebene ausgelegt. Die Server-Betriebssysteme (NT, 2000 Server und 2003 Server) sowie 2000 Professional und XP Professional bevorzugen Zugriffskontrolle auf Benutzer-Ebene. Windows XP Home nimmt eine Sonderstellung ein: Es gibt nach aussen hin vor, Zugriffskontrolle auf Benutzer-Ebene durchzuführen und fragt nach Anwender-Name und Passwort, akzeptiert aber jedes Login solange das angegebene Passwort leer ist.
Da Sie den Windows Computer per Namen angeben wollen, muss es einen Dienst geben, der den Namen auf eine IP-Adresse übersetzt. Windows verwendet dafür traditionell den Netbios Namensdienst. Microsoft hat allerdings mit Windows 2000 zu DNS (Domain Name Service) als bevorzugtem Dienst gewechselt. Netbios wird meist immer noch unterstützt. Wenn Ihr Netzwerk schon DNS benutzt, können Sie den Namensdienst mit "ping" oder "telnet" testen. Verwenden Sie einfach den Computer-Namen statt der IP-Adresse. Wenn Sie allerdings auf den Netbios Namensdienst angewiesen sind, brauchen Sie für einen Test spezielle Programme wie z.B. "nmblookup" aus der Samba Distribution. Sollte Ihr Netzwerk auch noch einen WINS Server (dedizierter Server für den Netbios Namensdienst) verwenden, stellen Sie sicher, dass sowohl Sharity als auch der Windows-PC die selbe Einstellung haben.
Wenn der Namensdienst funktioniert, sollten Sie einfach über /CIFS/freigabe[computer] auf die Freigabe zugreifen können. Das Durchsuchen des Netzwerks über das entire_network Verzeichnis erfordert jedoch noch einen weiteren Dienst: den "Local Master Browse Server" (LMB). Dieser Dienst wird unter allen SMB Servern (Windows und kompatible wie z.B. Samba) bestimmt. Normalerweise kann jeder Computer zum LMB werden, bei dem die Datei- und Druckfreigabe aktiviert ist. Ist in Ihrem Netzwerk-Segment kein LMB vorhanden, können Sie Samba auf Ihrem Unix Computer installieren um diesen Dienst zu übernehmen. Die einfachste Methode um Probleme mit dem Browsing zu umgehen ist allerdings, die Ressourcen händisch in der grafischen Benutzeroberfläche (Abschnitt "Ressourcen") zu konfigurieren.
<< Zurück zum Inhaltsverzeichnis
Hinweis: Die Hilfe-Schaltfläche funktioniert in allen Abschnitten der Benutzeroberfläche und zeigt einen Hilfe-Text spezifisch für den Abschnitt an.
Es gibt eine viel elegantere Lösung des Problems: Setzen Sie einen symbolischen Link, der auf den Automounter in /CIFS zeigt. Angenommen, Sie wollen die Freigabe smb://server/freigabe permanent am Pfad /meinedaten verfügbar haben, dann erzeugen Sie einen symbolischen Link wie folgt:
ln -s /CIFS/freigabe\[server\] /meinedaten(Beachten Sie bitte, dass die eckigen Klammern mit einem umgekehrten Schrägstrich versehen werden müssen, damit die Shell sie nicht als Sonderzeichen interpretiert.) Wenn ein Anwender auf /meinedaten zugreift, wird die Freigabe automatisch in /CIFS gemountet und die Benutzeroberfläche zeigt einen Login-Dialog an (sofern der Anwender nicht schon eingeloggt oder das Passwort gespeichert war).
Nehmen wir an, dass Sie auf eine Reihe von Servern zugreifen müssen und dass Sie auf allen das selbe Passwort haben. Sie wollen dieses Passwort daher so speichern, dass Sharity es bei jedem Login in Ihrer Domäne oder Arbeitsgruppe zuerst probiert, bevor es nachfragt. Das kann wie folgt erreicht werden:
Hinweis: Das alles kann auch aus der Kommandozeile gemacht werden. Ein Beispiel:
sharity login -s smb://serverFühren Sie "sharity man login" oder "sharity man keychain" durch um mehr zu erfahren.
sharity keychain default smb://server
In diesem Fall können Sie alle Anwender über das selbe Konto am Server führen. Das erreichen Sie, indem Sie das Login in der Schlüsselbund-Datenbank speichern und allen Anwendern erlauben, darauf zuzugreifen. Führen Sie folgende Schritte in der Benutzeroberfläche durch:
Das selbe können Sie auch über die Kommandozeile erreichen, z.B.:
sharity login -s smb://serverFühren Sie "sharity man login" oder "sharity man keychain" durch um mehr zu erfahren.
sharity keychain publish smb://server
<< Zurück zum Inhaltsverzeichnis
sharity debug file logLevelsDebugin der Kommandozeile ein. Wenn wir Sie um abweichende Einstellungen gebeten haben, verwenden Sie bitte diese.
sharity debug syslog
/usr/local/sharity3/sbin/sharity.init startProbieren Sie jetzt nochmals alle Sharity mounts mit dem umount Befehl loszuwerden. Ist Ihnen das gelungen, stoppen Sie den Dämon mit dem Befehl "kill -9 daemon-pid". [Das sollten Sie niemals tun, ausser in diesem ganz speziellen Fall!] Danach starten Sie Sharity erneut.
Das Unmounten kann mit der Fehlermeldung "Device or resource busy" abbrechen. Das bedeutet, dass es noch einen Prozess gibt, der den Mount benutzt. Sie können erst dann unmounten, wenn Sie diesen Prozess beendet haben. Um herauszufinden, welcher Prozess das ist, benutzen Sie bitte den Befehl "lsof" oder "fuser". Der Quellcode zu "lsof" ist frei verfügbar.
/usr/local/sharity3/sbin/sharity.init testshellDamit kommen Sie in eine "sh" Shell, von der aus Sie Ihre bevorzugte Shell starten können.
Bevor wir mit sharity-userd arbeiten, stellen Sie sicher, dass Sie ein gültiges Kerberos-Ticket haben. Geben Sie "klist" ein um alle Ihre Kerberos-Tickets anzuzeigen bzw. verwenden Sie falls notwendig "kinit" um sich einzuloggen. Unter der Annahme, dass Sie ein gültiges Ticket Granting Ticket haben, können Sie mit
sbin/sharity-userd getUserPrincipalIhr Kerberos Login ("Kerberos Principal") anzeigen. Um Login-Daten für einen bestimmten Server zu erhalten, führen Sie
sbin/sharity-userd getKrb5Auth <server-principal>durch. "<server-principal>" ist dabei der Kerberos Principal Name des Servers. Dieser Name wird üblicherweise aus dem Computernamen des Rechners als "servername$@REALM" zusammengebaut. "REALM" ist normalerweise die in Grossbuchstaben geschriebene Domäne. Ein Beispiel:
bash$ sbin/sharity-userd getKrb5Auth 'pdc1$@TEST.HOME'Wenn bis hier her alles funktioniert hat, sollten Kerberos Logins mit Sharity funktionieren. Wenn nicht, stellen Sie bitte sicher, dass Sie den Default Credentials Cache für Kerberos verwenden (die Umgebungsvariable KRB5CCNAME darf nicht gesetzt sein). Da Sharity beim Hochfahren des Systems startet, kann es Ihre Umgebungsvariablen nicht erben.
authenticator for pdc1$@TEST.HOME is:
odalloc/alloc: 0000: 6e 82 04 5a 30 82 04 56 a0 03 02 01 05 a1 03 02
odalloc/alloc: 0010: 01 0e a2 07 03 05 00 00 00 00 00 a3 82 03 99 61
[...]
odalloc/alloc: 0450: 36 84 00 8c 0c 7d f3 e9 58 7e 2b bd 98 e9
session key is:
odalloc/alloc: 0000: 09 35 a9 f4 4a 97 ed 60 42 11 ca d7 95 f7 e3 aa
Um den Zugriff auf Active Directory zu testen, probieren Sie
sbin/sharity-userd ldapQuery <domain> 1 objectClass=userwobei Sie "<domain>" durch Ihre Active Directory Domäne ersetzen. Ein Beispiel:
bash$ sbin/sharity-userd ldapQuery test.home 1 objectClass=user userd/db0: trying ldap connect to pdc1.test.home port 3268 userd/db0: SASL Interaction: challenge=Authorization Name prompt=... userd/db0: SASL Interaction: defaultRes= entry 0 dn = CN=TsInternetUser,CN=Users,DC=sub1,DC=test,DC=home cn = TsInternetUser displayName = TsInternetUser instanceType = 0 distinguishedName = CN=TsInternetUser,CN=Users,DC=sub1,DC=test,DC=home objectCategory = CN=Person,CN=Schema,CN=Configuration,DC=test,DC=home objectClass = top person organizationalPerson user [...]
Wenn auch dieser Befehl funktioniert, sollten Sie Active Directory über Sharity durchsuchen können. Sollte eines der oben beschriebenen Kommandos fehlschlagen, sollte Ihnen die Fehlermeldung bei der Behebung des Problems helfen.
<< Zurück zum Inhaltsverzeichnis
Folgende Probleme müssen dazu gelöst werden:
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.
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.
/nethome/$domain/$userAusserdem 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.
/nethome/$user
/home/net/$user
LD_LIBRARY_PATH=/usr/share/centrifydc/kerberos/lib:$LD_LIBRARY_PATHDanach 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
LD_LIBRARY_PATH=/usr/share/centrifydc/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
x-homes:company.com /nethomezu 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: jamesNachdem 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:
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
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.
homesLocalHomeDir: 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.
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.
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.
sharity mount x-homes:company.com /nethomeDer 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: /nethomeWenn 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
...
<< Zurück zum Inhaltsverzeichnis
<< Zurück zum Inhaltsverzeichnis
WICHTIG: DIESER ENDANWENDER-LIZENZVERTRAG ("EULA") IST EINE VEREINBARUNG ZWISCHEN IHNEN UND OBJECTIVE DEVELOPMENT. LESEN SIE IHN GENAU, BEVOR SIE DIE SOFTWARE BENUTZEN. DER VERTRAG GEWÄHRT IHNEN EINE LIZENZ ZUR BENUTZUNG DER SOFTWARE UND ENTHÄLT GEWÄHRLEISTUNGSINFORMATIONEN SOWIE EINSCHRÄNKUNGEN DER HAFTUNG. INDEM SIE DIE SOFTWARE INSTALLIEREN, KOPIEREN ODER SONST WIE VERWENDEN, STIMMEN SIE DEN BESTIMMUNGEN DIESES VERTRAGES ZU. WENN SIE DEN BESTIMMUNGEN NICHT ZUSTIMMEN, DÜRFEN SIE DIESE SOFTWARE WEDER INSTALLIEREN NOCH SONST WIE BENUTZEN.
1.2 "SOFTWARE" steht für Software-Programme und zugehörige Software-Komponenten, die hiermit von OBJECTIVE DEVELOPMENT zur Verfügung gestellt werden, sowie die entsprechende Dokumentation, Medien, gedrucktes Material und andere Online- oder elektronische Dokumentation.
1.3 "LIZENZSCHLÜSSEL" ist eine Zeichenkette, die Ihnen gewährte Rechte in kompakter Form repräsentiert. Ein LIZENZSCHLÜSSEL enthält Informationen über, aber nicht beschränkt auf:
2.2 Netzwerk Installation. Sie dürfen auch eine Kopie der SOFTWARE auf einem Netzwerk-Server installieren und über ein lokales Netzwerk auf Ihren anderen Computern AUSFÜHREN. Allerdings müssen Sie dazu für jeden einzelnen Computer, auf dem die Software vom Server läuft, eine eigene Lizenz erwerben.
3.2 Privat-Lizenz. Die Privat-Lizenz ist auf private, nicht-kommerzielle Verwendung beschränkt.
3.3 Business-Lizenz. Die Business-Lizenz erlaubt es Ihnen, die SOFTWARE in einer kommerziellen oder gewinnorientierten Umgebung AUSZUFÜHREN.
3.4 Demo-Lizenz. Die Demo-Lizenz erlaubt Ihnen, die SOFTWARE in einer kommerziellen oder gewinnorientierten Umgebung zu Test- und Evaluationszwecken laufen zu lassen. Demo-Lizenzen sind für die Dauer eines Monats gültig, sofern mit dem LIZENZSCHLÜSSEL nicht ein anderes Ablaufdatum bestimmt wird.
4.2 Geheimhaltung. Als Besitzer eines LIZENZSCHLÜSSELS sind Sie für dessen Geheimhaltung verantwortlich. Wenn Dritte durch absichtliche oder fahrlässige Handlungen Ihrerseits Zugriff auf den LIZENZSCHLÜSSEL bekommen, sind Sie für die Schäden, die OBJECTIVE DEVELOPMENT daraus erwachsen, haftbar.
4.3 Reproduktion. Die SOFTWARE darf nur mit formaler Zustimmung von OBJECTIVE DEVELOPMENT auf irgendeinem Medium reproduziert werden (einschliesslich, aber nicht beschränkt auf, CD-ROM, DVD oder Internet Download), ausgenommen zu Backup-Zwecken oder zur Installation.
4.4 Verbot von Reverse Engineering, Dekompilierung und Disassemblierung. Sie dürfen die Software nicht dekompilieren, disassemblieren oder auf sonst eine Art die interne Funktionsweise analysieren, ausgenommen jener Aktivitäten, die trotz dieser Beschränkung von gültigen Gesetzen erlaubt werden.
4.5 Software nicht zum Weiterverkauf bestimmt. Wenn die SOFTWARE oder der LIZENZSCHLÜSSEL mit "NFR" oder "Not for Resale" (= "nicht zum Weiterverkauf bestimmt") bezeichnet ist, dann dürfen Sie sie/ihn nicht verkaufen oder sonst wie für eine Gegenleistung weitergeben.
4.6 Verleih. Sie dürfen die SOFTWARE nicht vermieten, verpachten oder verleihen und auch keine Kopie der SOFTWARE oder ein in diesem Vertrag gewährtes Recht belasten.
4.7 Weitergabe. Sie dürfen Ihre Rechte, die Ihnen mit dieser EULA gewährt werden, nur mit vorherigem schriftlichem Einverständnis von OBJECTIVE DEVELOPMENT weitergeben. Wenn Sie eine Einverständniserklärung eingeholt haben, dürfen Sie diese Lizenz dauerhaft an einen anderen Endanwender weitergeben, vorausgesetzt, dass Sie die gesamte SOFTWARE und den LIZENZSCHLÜSSEL an diesen Endanwender weitergeben und keinerlei Kopien behalten. Der Empfänger der Übertragung muss allen Bestimmungen dieser EULA zustimmen.
4.8 Vorbehalt von Rechten. OBJECTIVE DEVELOPMENT behälte alle Rechte, die nicht explizit weitergegeben wurden.
4.9 Nicht-exklusive Rechte. Ihre Rechte unter dieser EULA sind nicht-exklusiv.
6.2 Weiterbestehen von Bestimmungen. Alle Vorschriften bezüglich Geheimhaltung, Vertraulichkeit und Beschränkung der Haftung bestehen nach einer Auflösung dieses Vertrages weiter.
BESCHRÄNKUNG DER HAFTUNG. OBJECTIVE DEVELOPMENT IST IM MAXIMALEN VON GÜLTIGEN GESETZEN ERLAUBTEN AUSMASS IN KEINEM FALL HAFTBAR FÜR IRGENDWELCHE SPEZIELLEN, ZUFÄLLIGEN, INDIREKTEN, FOLGE- ODER SONSTIGE SCHÄDEN (EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF SCHÄDEN DURCH GEWINNENTGANG, BETRIEBSUNTERBRECHUNG, VERLUST VON BETRIEBSDATEN ODER JEDEN ANDEREN GELDVERLUST), DIE DURCH DIE VERWENDUNG ODER DIE UNMÖGLICHKEIT DER VERWENDUNG DER SOFTWARE ODER DURCH DIE BEREITSTELLUNG ODER DAS SCHEITERN VON SUPPORT DIENSTLEISTUNGEN ENTSTEHEN. IN JEDEM FALL WIRD OBJECTIVE DEVELOPMENTS HAFTUNG UNTER DEN BEDINGUNGEN DIESER EULA MAXIMAL AUF JENEN BETRAG BEGRENZT, DEN SIE FÜR DIE SOFTWARE BEZAHLT HABEN.
8.2 Geltendes Recht. Diesr Vertrag wird durch die Gesetze der Republik Österreich geregelt.
8.3 Gerichtsstand. Die zuständigen Gerichte in Wien/Österreich haben die ausschliessliche Zuständigkeit in Bezug auf alle Auseinandersetzungen in Verbindung mit diesem Vertrag.
Dies ist eine Übersetzung vom 2005-11-21 des englischsprachigen Lizenzvertrages. Sollte diese Übersetzung zum englischsprachigen Original im Widerspruch stehen, so hat das Original Vorrang.