{"id":700,"date":"2009-05-26T18:20:14","date_gmt":"2009-05-26T17:20:14","guid":{"rendered":"http:\/\/www.tupperclub.de\/blog\/?p=700"},"modified":"2009-05-26T18:24:16","modified_gmt":"2009-05-26T17:24:16","slug":"synology-diskstation-geht-nicht-gibt-es-nicht","status":"publish","type":"post","link":"https:\/\/www.tupperclub.de\/blog\/?p=700","title":{"rendered":"Synology DiskStation: Geht nicht, gibt es nicht!"},"content":{"rendered":"<p>Gestern hatte ich noch \u00fcber die <a href=\"http:\/\/www.tupperclub.de\/blog\/wp-trackback.php?p=693\">verschiedenen Optionen<\/a>, die Abbildung der Windows SIDs auf Gruppen- und Benutzer-IDs zu beeinflussen, berichtet. Bei n\u00e4herem Nachdenken haben mir jedoch beide Optionen nicht sonderlich gefallen. Die erste Option (Einschr\u00e4nkungen auf Freigabeebene) ist prinzipiell schon mal langweilig. Die zweite Option (Eintr\u00e4ge in <code>\/etc\/passwd<\/code> und <code>\/etc\/group<\/code>) hat den Nachteil, dass in <code>\/etc\/group<\/code> die Benutzerzuordnung immer aktuell gehalten werden m\u00fcsste. Das ist also auch nicht sonderlich elegant.<\/p>\n<p>Also habe ich mich an Option drei herangewagt: Ich habe einfach WinBind davon \u00fcberzeugt, die Gruppenzuordnung so vorzunehmen, wie ich es gerne h\u00e4tte. <!--more-->Daf\u00fcr habe ich ein Ruby Skript geschrieben, das sich mit dem LDAP-Server verbindet und daraus eine passende <code>winbindd_idmap.tdb<\/code> Datei generiert. Damit kann ich sicherstellen, dass wenigstens die UIDs und GIDs auf allen Systemen \u00fcbereinstimmen.<\/p>\n<h4>TDB Bilbiothek<\/h4>\n<p>Das Ruby Skript baut auf der TDB Bilbiothek von Samba auf. Ich war zu faul, f\u00fcr die Bibliothek Ruby Bindings anzulegen bzw. ein eigenes C Programm daf\u00fcr zu schreiben, daher wird einfach das <code>tdbtool<\/code> mit den passenden Eingaben gesteuert. Dieses ist leider normalerweise bei der Bin\u00e4rdistribution von Samba nicht mit dabei, so dass man es selbst kompilieren muss. Der entsprechende Teil von Samba ist relativ klein und kann daher auch eigenst\u00e4ndig kompiliert werden.<\/p>\n<p>Man ben\u00f6tigt nur die \u00fcblichen Compiler-Tools und das <code>autoconf<\/code>-Paket. Danach kann man mit <code>autogen.sh<\/code> die n\u00f6tigen Dateien anlegen. Nach einem Lauf von <code>configure<\/code> und <code>make<\/code> steht dann das <code>tdbtool<\/code> im Unterverzeichnis <code>bin<\/code> bereit.<\/p>\n<h4>Anmerkungen<\/h4>\n<p>Das Skript am Ende dieses Artikels baut auf meinem Remote-Management-Framework auf, das ich nicht mitliefere. Prinzipiell reicht es, einige kleine \u00c4nderungen zu machen, um die Adresse der gew\u00fcnschten Disk Station entweder fest im Quellcode abzulegen oder durch Kommandozeilenparameter zu bestimmen. Das Skript steht unter der BSD Lizenz, die TDB Bibliothek von Samba unter der LGPL<\/p>\n<p>Der UID\/GID Bereich, der im LDAP Verzeichnis verwendet wird, muss zum Bereich von WinBind passen. Daher muss ggf. die <code>smb.conf<\/code> angepasst werden (zu finden in <code>\/usr\/syno\/etc<\/code>). Dies wird vom Skript bereits automatisch erledigt. <\/p>\n<p>Durch den n\u00f6tigen Neustart von Samba bzw. Winbind kann es evtl. zu Unterbrechungen der Verbindung kommen. <strong>Die bisherige Zuordnung auf der Disk Station wird einfach \u00fcberschrieben, d.h. wenn vorher bereits Dom\u00e4nenbenutzer auf die Disk Station zugegriffen haben, m\u00fcssen Besitzer und Gruppe passend korrigiert werden.<\/strong><\/p>\n<p>Getestet wurde das Skript mit einer Disk Station 209 mit PowerPC CPU. Wird ein System mit einer anderen Byte Order verwendet, m\u00fcssen Anpassungen vorgenommen werden. <strong>Die Verwendung erfolgt vollst\u00e4ndig auf eigene Gefahr!<\/strong><\/p>\n<p>Ach ja: <code>chown<\/code> auf der Disk Station kann nicht mit Benutzernamen, die einen Punkt enthalten, umgehen. Das kann ung\u00fcnstig sein, wenn z.B. der Dom\u00e4nenname einen Punkt enth\u00e4lt. Als Notl\u00f6sung bleibt nur die entsprechenden numerischen Werte zu verwenden.<\/p>\n<h4>Anlagen<\/h4>\n<p><a href='http:\/\/www.tupperclub.de\/blog\/wp-content\/uploads\/2009\/05\/update-synology-users.zip'> Ruby Skript<\/a> und <a href='http:\/\/www.tupperclub.de\/blog\/wp-content\/uploads\/2009\/05\/tdbtar.gz'>tdb Bibliothek<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gestern hatte ich noch \u00fcber die verschiedenen Optionen, die Abbildung der Windows SIDs auf Gruppen- und Benutzer-IDs zu beeinflussen, berichtet. Bei n\u00e4herem Nachdenken haben mir jedoch beide Optionen nicht sonderlich gefallen. Die erste Option (Einschr\u00e4nkungen auf Freigabeebene) ist prinzipiell schon mal langweilig. Die zweite Option (Eintr\u00e4ge in \/etc\/passwd und \/etc\/group) hat den Nachteil, dass in [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,8,23],"tags":[],"class_list":["post-700","post","type-post","status-publish","format-standard","hentry","category-allgemeines","category-linux","category-ruby"],"_links":{"self":[{"href":"https:\/\/www.tupperclub.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/700","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tupperclub.de\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tupperclub.de\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tupperclub.de\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tupperclub.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=700"}],"version-history":[{"count":9,"href":"https:\/\/www.tupperclub.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/700\/revisions"}],"predecessor-version":[{"id":711,"href":"https:\/\/www.tupperclub.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/700\/revisions\/711"}],"wp:attachment":[{"href":"https:\/\/www.tupperclub.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tupperclub.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tupperclub.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}