tipps_und_tricks

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
tipps_und_tricks [2011/02/21 17:54]
flacco
tipps_und_tricks [2014/05/08 09:09]
flacco [Windows 7]
Zeile 7: Zeile 7:
 [[:​tipps_und_tricks:​virtualbox| Tipps und Tricks zu VirtualBox]] [[:​tipps_und_tricks:​virtualbox| Tipps und Tricks zu VirtualBox]]
  
 +===== Windows 7 =====
 +
 +Windows 7 stellt an invis Administratoren neue Aufgaben. Eine davon ist ein sauberer Domänenbeitritt.
 +
 +[[:​tipps_und_tricks:​win7dom|Domänenbeitritt mit Windows 7]]
 +
 +Wichtig: Die Benutzernamen dürfen nicht länger als 20 Zeichen sein, sonst schlägt später die Anmeldung am Windows 7 Client fehl!
 +
 +===== Ubuntu Client mit sssd integrieren =====
 +
 +Anbindung von Linux-Clients an einen invis-Server
 +
 +==== 1. Freigaben einbinden ====
 +Zur Anbindung eines Linux-Clients an den Server müssen zunächst die Server-Freigaben **home** und **shares** per NFSv4 ins lokale Verzeichnissystem eingehängt werden. Dazu sind in der Datei <​file>/​etc/​fstab</​file>​ folgende Einträge vorzunehmen:​
 +
 +<​code>​
 +invis.invis-net.loc/​home /home nfs4 defaults 0 0
 +invis.invis-net.loc/​shares /​mnt/​invis/​shares nfs4 defaults 0 0
 +</​code>​
 +
 +Dabei ist zu beachten, dass die Home-Verzeichnisse ggf. vorhandener Benutzer durch das Einhängen der Home-Freigabe des Server überdeckt werden. Werden weiterhin lokale Benutzer benötigt, so sollten deren Home-Verzeichnisse vorher nach <​file>/​local/​home</​file>​ verschoben werden.
 +
 +Weiterhin muss das Zielverzeichnis zum Einhängen der Server-Freigabe "​Shares"​ zunächst manuell angelegt werden.
 +
 +==== 2. Benutzerverwaltung ====
 +
 +Für die Anbindung eines Linux-Clients an einen invis-Server empfiehlt sich aktuell die Verwendung des SSS-Daemons. Dieser ist ggf. manuell nachzuinstallieren:​
 +
 +<​code>​
 +linux:~ # sudo apt-get install -y sssd
 +</​code>​
 +
 +Danach ist unter dem Namen <​file>/​etc/​sssd/​sssd.conf</​file>​ eine Konfigurationsdatei für den Daemon anzulegen:
 +
 +<​code>​
 +[sssd]
 +config_file_version = 2
 +services = nss,pam
 +domains = default
 +
 +[nss]
 +filter_groups = root
 +filter_user = root
 +
 +[pam]
 +
 +[domain/​default]
 +ldap_uri = ldap://​invis.invis-net.loc
 +ldap_search_base = dc=invis-net,​dc=loc
 +ldap_schema = rfc2307
 +id_provider = ldap
 +ldap_user_uuid = entryuuid
 +ldap_group_uuid = entryuuid
 +ldap_id_use_start_tls = true
 +enumerate = true
 +cache_credentials = true
 +ldap_tls_cacertdir = /​etc/​ssl/​certs
 +ldap_tls_cacert = /​etc/​ssl/​certs/​cacert.pem
 +chpass_provider = ldap
 +auth_provider = ldap
 +ldap_user_fullname = displayName
 +#​cache_entry_timeout = 1
 +#​refresh_expired_interval = 1
 +</​code>​
 +
 +Damit **sssd** starten kann müssen die Zugriffsrechte angepasst werden:
 +
 +<​code>​
 +linux:~ # sudo chmod 0600 /​etc/​sssd/​sssd.conf
 +</​code>​
 +
 +Danach wird das Stammzertifikat der Server-Zertifizierungsstelle benötigt. Die Datei liegt ebenfalls im oben genannten Verzeichnis bereit. Sie muss lokal nach <​file>/​etc/​ssl/​certs</​file>​ kopiert werden:
 +
 +<​code>​
 +linux:~ # sudo cp /​mnt/​invis/​shares/​service/​VPN-Clients/​cacert.pem /​etc/​ssl/​certs/​
 +</​code>​
 +
 +Jetzt kann **sssd** gestartet werden:
 +
 +<​code>​
 +linux:~ # sudo service sssd start
 +</​code>​
 +
 +Mit 
 +
 +<​code>​
 +linux:~ # getent passwd
 +</​code>​
 +
 +kann überprüft werden, ob die Benutzerkonten aus dem LDAP-Verzeichnis des Servers zur Verfügung stehen.
 +
 +Hat alles funktioniert,​ muss dafür gesorgt werden, dass **sssd** automatisch beim Systemstart startet:
 +
 +<​code>​
 +linux:~ # sudo update-rc.d sssd defaults
 +</​code>​
 +===== Zarafa License-Daemon im Eigenbau =====
 +
 +Offiziell wird openSUSE als Basis einer Zarafa-Version nicht unterstützt,​ was unter anderem dazu führt, dass weder Zarafa-Backup noch der License-Daemon dafür zur Verfügung stehen. Beide Tools enthalten Closed-Source-Komponenten und sind damit nicht Bestandteil der Open-Source-Pakete die wir in unserem Build-Service-Repository vorhalten.
 +
 +Sie sind aber Bestandteil der Free-Edition und können somit kostenlos genutzt werden, allerdings nur auf unterstützten Plattformen,​ wie etwa Ubuntu LTS.
 +
 +Problematisch ist grundsätzlich,​ dass Zarafa seine eigene Software meist statisch gegen vorhandene System-Libraries linkt. Da sich diese von Distribution zu Distribution in Ihren Versionen unterscheiden,​ ist es nicht möglich SLES oder RedHat-Pakete einfach unter openSUSE zu nutzen.
 +
 +Möglich ist aber den License-Daemon in einer Art Sandbox laufen zu lassen, in der er alle Libraries hat, die er benötigt. Die folgende Beschreibung erläutert den Aufbau der Sandbox auf einem Ubuntu-LTS System
 +
 +==== VM einrichten ====
 +Zunächst muss dafür ein Ubuntu-LTS System installiert werden, hier empfiehlt sich die Arbeit mit Virtualbox. Entgegen der Angaben im Zarafa-Wiki spielt die Architektur der Sandbox sehr wohl eine Rolle. Da wir unsere invis-Server immer als 64Bit Systeme installieren,​ nutzen wir entsprechend auch ein 64Bit Ubuntu als Basis.
 +
 +Zusätzlich zur einfachen Standard-Installation wird das Software-Paket "​mklibs"​ benötigt:
 +
 +<​code>​
 +heinz@ubuntu:​~$ sudo apt-get install mklibs
 +</​code>​
 +
 +==== Zarafa-Pakete herunterladen und entpacken ====
 +
 +Benötigt wird die zur installierten VM passende Zarafa Free-Edition,​ zu finden auf dem Zarafa-Download-Server:​ http://​download.zarafa.com/​community
 +
 +<​code>​
 +heinz@ubuntu:​~$ wget http://​download.zarafa.com/​community/​final/​7.0/​7.0.8-35178/​zcp-7.0.8-35178-ubuntu-10.04-x86_64-free.tar.gz
 +....
 +heinz@ubuntu:​~$ tar -xzvf zcp-7.0.8-35178-ubuntu-10.04-x86_64-free.tar.gz
 +</​code>​
 +
 +==== Zarafa-Pakete installieren ====
 +
 +In diesem Schritt müssen vorbereitend einige Zarafa-Pakete installiert werden. Benötigt werden: ​
 +
 +  * zarafa-licensed
 +  * zarafa-common
 +  * zarafa-client
 +  * zarafa-server
 +
 +<​code>​
 +heinz@ubuntu:​~$ cd zcp-7.0.8-35178-ubuntu-10.04-x86_64/​
 +heinz@ubuntu:​~/​zcp-7.0.8-35178-ubuntu-10.04-x86_64$ sudo dpkg -i zarafa-licensed_7.0.8-35178_amd64.deb zarafa-common_7.0.8-35178_amd64.deb zarafa-client_7.0.8-35178_amd64.deb zarafa-server_7.0.8-35178_amd64.deb
 +</​code>​
 +
 +Es ist nicht notwendig vorherige Versionen zu deinstallieren,​ das erledigt //​**dpkg**//​ automatisch.
 +
 +==== Sandbox aufbauen ====
 +
 +Vor dem Bau einer neuen Sandbox sollte die Ubuntu (oder was auch immer) Version aktualisiert werden:
 +
 +<​code>​
 +heinz@ubuntu:​~$ sudo apt-get update
 +heinz@ubuntu:​~$ sudo apt-get upgrade
 +</​code>​
 +
 +Jetzt muss eine entsprechende Verzeichnisstruktur erzeugt werden. Eingerichtet wird diese (weitgehend FHS-konform) unter "/​opt":​
 +
 +<​code>​
 +heinz@ubuntu:​~$ sudo mkdir -p /​opt/​zarafa-licensed-7.0.8/​lib
 +heinz@ubuntu:​~$ sudo mkdir -p /​opt/​zarafa-licensed-7.0.8/​bin
 +</​code>​
 +
 +Anschließend werden die benötigten Zarafa-Komponenten in diese Verzeichnisse kopiert:
 +
 +<​code>​
 +heinz@ubuntu:​~$ sudo cp -p /​usr/​bin/​zarafa-licensed /​opt/​zarafa-licensed-7.0.8/​bin/​
 +heinz@ubuntu:​~$ sudo cp -p /​usr/​bin/​zarafa-report /​opt/​zarafa-licensed-7.0.8/​bin/​
 +heinz@ubuntu:​~$ sudo cp -p /​usr/​bin/​zarafa-ssm /​opt/​zarafa-licensed-7.0.8/​bin/​
 +heinz@ubuntu:​~$ sudo cp -p /​usr/​lib/​libzarafaclient.so /​opt/​zarafa-licensed-7.0.8/​lib
 +</​code>​
 +
 +Abschließend müssen alle von "​zarafa-licensed"​ benötigten System-Libraries in der Sandbox installiert werden:
 +
 +<​code>​
 +sudo mklibs-copy -d /​opt/​zarafa-licensed-7.0.8/​lib/​ /​opt/​zarafa-licensed-7.0.8/​bin/​*
 +</​code>​
 +
 +Ist dies abgeschlossen,​ kann die Verzeichnisstruktur in ein tar.gz-Archiv gepackt und auf den Zielserver verfrachtet werden. Empfehlenswert ist es natürlich sich für openSUSE ein init-Script zum Start des Dienstes zu erzeugen und auch die Konfigurationsdatei <​file>/​etc/​zarafa/​licensed.cfg</​file>​ auf den Zielserver zu kopieren.
 +
 +Auf dem Zielserver muss noch das Verzeichnis <​file>/​etc/​zarafa/​license</​file>​ angelegt werden. Hierin werden erworbene Lizenzschlüssel geschrieben. Ohne Lizenzschlüssel können mit laufendem License-Daemon aber immerhin 3 Outlook-Clients angebunden werden, was somit der Free-Edition entspricht.
 +
 +//​**Hinweis:​** Fertige Pakete (zld4invis) für den License-Daemon auf invis-Servern stehen unter **[[http://​invis.invis-server.org/​index.php?​page=invis-7-2]]** zum Download bereit. Sie enthalten bereits alle notwendigen Komponenten inkl. init-Script.//​
 ===== Linux-Clients und NFS-Fileserver ===== ===== Linux-Clients und NFS-Fileserver =====
 Die Gruppen-basierte Zusammenarbeit auf einem Linux-Fileserver gestaltet sich schwierig, wenn diese per NFS auf den Fileserver zugreifen. Zwar lassen sich mit gesetztem SGID-Bit auf den Freigabe-Verzeichnissen Gruppen-Besitzrechte auf alle Objekte im Ordner vererben, nicht aber die Zugriffsrechte. Letztere sind von der "​umask"​ abhängig. Die Gruppen-basierte Zusammenarbeit auf einem Linux-Fileserver gestaltet sich schwierig, wenn diese per NFS auf den Fileserver zugreifen. Zwar lassen sich mit gesetztem SGID-Bit auf den Freigabe-Verzeichnissen Gruppen-Besitzrechte auf alle Objekte im Ordner vererben, nicht aber die Zugriffsrechte. Letztere sind von der "​umask"​ abhängig.
Zeile 103: Zeile 280:
 </​code>​ </​code>​
  
-===== Group-e ​Samba Dateimanager auch unter openSUSE ​===== +===== Group-e ​-- Passwwort des Benutzers "​config"​ zurück setzen ​=====
-Out of the Box lässt sich der Samba Dateimanager von Group-e unter openSUSE nicht nutzen.+
  
-Das hat zwei Gründe:+Das Passwort des Benutzers "​config"​ wird unabhängig von der generellen Benutzerverwaltung in Group-e immer in der MySQL-Datenbank verwaltet. Um es zurückzusetzen muss eine SQL-Anweisung über das MySQL-Komandozeilen Frontend abgesetzt werden:
  
-  - Die smbclient-Methode funktioniert nicht, weil der PTY-Support in PHP seit einiger Zeit nicht mehr aktiviert ist. Dies zu lösen würde bedeuten PHP selbst neu zu übersetzen. Das wurde im Group-e Forum schon mehrfach diskutiert und stellt definitiv keine Lösung dar!!!! +<​code>​ 
-  - Die smbmount-Methode funktioniert nicht, da //​**smbmount**//​ schlicht in openSUSE nicht mehr enthalten ist. (Dürfte bei anderen Distris möglicherweise auch schon so sein) //​**smbmount**//​ bzw. smbfs wird nicht mehr wirklich gepflegt. Als Ersatz ist das Paket cifs-mount mit den Kommandos //​**mount.cifs**//​ und //​**umount.cifs**//​ enthalten.+linux:~ # mysql -u root -p
  
-Im Gegensatz zu den alten Kommandos //​**smbmount**//​ und //​**smbumount**//​ ist bei den neuen aus Sicherheitsgründen das SUID-Bit nicht gesetzt.+...
  
-**Achtung, die folgende Anleitung funktioniert bei neueren Installationen nicht mehr, da //**mount.cifs**/das SUID-Bit inzwischen ignoriertHier hilft nur noch eine gepatchte PHP-Versionwie sie für invis-Server im openSUSE Buildservice bereit steht und bei Neuinstallationen automatisch installiert wird.**+mysql> use groupe; 
 +Database changed 
 +mysql> UPDATE `ModulCfg` SET `CfgVal`=MD5( '​config'​ ) WHERE `ModulCfg`.`FKModul`='​global'​ AND `ModulCfg`.`FKCfgKey`='​cfg/pwd' AND `ModulCfg`.`FKObjID`=0;​ 
 +Query OK1 row affected (0.01 sec) 
 +Rows matched: 1  Changed: 1  Warnings: 0
  
-Um diese Kommandos für group-e nutzbar zu machen muss zunächst allen Sicherheitsbedenken zum Trotz das SUID-Bit für beide Kommandos gesetzt werden:+mysql> quit 
 +Bye 
 +linux:~ #  
 +</​code>​
  
-<​code>​chmod u+s /sbin/mount.cifs +Danach kann man sich wieder als Benutzer "​config"​ mit dem Passwort "​config"​ anmelden.
-chmod u+s /​sbin/​umount.cifs</​code>​+
  
-Da Group-e leider immer noch die alten Kommandos voraussetzt und vermutlich niemand bei jeder neuen Version den Quellcode anfassen möchte, müssen noch zwei symbolische Links angelegt werden:+===== OpenVPN =====
  
-<​code>​ln ​-s /sbin/mount.cifs /usr/bin/smbmount +Damit openVPN genutzt werden kann, wird eine CRL (Certificate Revocation List) benötigt. Auf älteren Installationen wird diese Datei nicht automatisch angelegt (Seit invis Version 9.2) ist dies der Fall), auch findet sich in den easy-RSA Tools kein Script um eine solche CRL zu erzeugenSie muss also manuell mittels ​//**openssl**// erzeugt werden.
-ln -s /sbin/umount.cifs /​usr/​bin/​smbumount</​code>​+
  
-Das wars, danach funktioniert der Samba-Dateimanager auch unter openSUSE, wenn auch mit ein paar Abstrichen in Sachen Sicherheit+Zunächst muss die auf dem System vorhandene OpenSSL-Version ermittelt werdenFür diesen Zweck gibt es ein vorgefertigtes Script:
  
-**Ergänzung:**+<​code>​ 
 +invis:/​etc/​openvpn/​invis-server.loc # ./​whichopensslcnf  
 +/​openssl-1.0.0.cnf 
 +************************************************************** 
 +  No /​openssl-1.0.0.cnf file could be found 
 +  Further invocations will fail 
 +************************************************************** 
 +</​code>​
  
-Wenn es nicht funktioniert bitte die /etc/hosts kontrollieren. Wenn dort eine wie im folgenden Beispiel gezeigte Zeile zu finden istist diese entweder zu löschen oder die 127.0.0.2 gegen die tatsächliche IP-Adresse zu tauschen.+Auch wenn die ausgegebene Meldung auf einen Fehler hindeutet, so liegt nahedass hier openSSL in Version 1.0.0 installiert ist und auf die in der Ausgabe genannte Konfigurationsdatei zurückgegriffen werden mussDas Erstellen der CRL sieht dann wie folgt aus:
  
-<​code>​127.0.0.2 ​     invis65.invis-net.loc     invis65</code> +<​code>​ 
- +invis:/​etc/​openvpn/​invis-server.loc # openssl ca -config ./openssl-1.0.0.cnf -gencrl -keyfile ​./keys/ca.key -cert ./keys/ca.crt -out ./keys/crl.pem 
-(Bitte nicht mit der 127.0.0.1 verwechseln.). +</​code>​
- +
-Es sollte ein korrekter Eintrag direkt unter "127.0.0.1 localhost"​ stehen: +
- +
-<​code>​127.0.0.1            localhost +
-192.168.200.10 ​      ​invis65.invis-net.loc ​    ​invis65</​code>​ +
- +
-**Erläuterung:​** +
- +
-**//​smbmount//​** fragt die /etc/hosts nach der IP des Servers ab und gibt sich mit der ersten zutreffenden Antwort zufrieden. Wenn dies mit 127.0.0.2 beantwortet wird und Samba mit der Option "bind interfaces only" an bestimmte IPs gebunden ist, verweigert es einfach den Mount-Versuch. +
- +
-Gibt man in der Freigaben-Konfiguration von Group-e statt des Hostnamens die IP-des Samba-Servers ein, funktioniert es immer. ​+
  
 +Danach ist im Unterverzeichnis "​keys"​ die Datei "​crl.pem"​ zu finden, auf die in der OpenVPN Konfiguration bezug genommen wird.
 ===== Nein Danke Zensursula ===== ===== Nein Danke Zensursula =====
 **Achtung, der folgende Text ist nicht ganz neutral. Er enthält persönliche Meinugsäußerungen. Ich bitte dies zu entschuldigen.** **Achtung, der folgende Text ist nicht ganz neutral. Er enthält persönliche Meinugsäußerungen. Ich bitte dies zu entschuldigen.**
  • tipps_und_tricks.txt
  • Zuletzt geändert: 2018/12/15 14:05
  • von flacco