{"id":75,"date":"2010-08-18T11:32:01","date_gmt":"2010-08-18T09:32:01","guid":{"rendered":"https:\/\/caipirinha.spdns.org\/wp\/?p=75"},"modified":"2020-12-30T20:14:04","modified_gmt":"2020-12-30T19:14:04","slug":"samba","status":"publish","type":"post","link":"https:\/\/caipirinha.spdns.org\/wp\/?p=75","title":{"rendered":"Samba"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Samba-Server<\/h2>\n\n\n\n<p>Die Konfiguration des <strong>Samba<\/strong>-Dienstes auf dem Caipirinha-Server\n dient ausschlie\u00dflich dazu, einige zentrale Verzeichnisse auf dem Server\n unter Windows verf\u00fcgbar zu machen. Insofern stellt die unten stehende \nKonfigurationsdatei kein Meisterst\u00fcck dar, sondern kann lediglich einige\n einf\u00fchrende Ideen geben. Sicherlich k\u00f6nnte man auch in einem \nHeim-Netzwerk noch viel bessere Konfigurationen anbieten. Aber schauen \nwir uns zun\u00e4chst einmal die Konfigurationsdatei an:\n<\/p>\n\n\n\n<p><strong>\/etc\/samba\/smb.conf<\/strong>:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Samba Configuration File\n# Manually created by Gabriel R\u00fceck\n# Date: 01-JUN-2010\n[global]\n   # Die folgende Einstellung ist erforderlich f\u00fcr Jos\u00e9lias Computer mit Windows Vista.\n   client ntlmv2 auth = yes\n   create mask = 0640\n   deadtime = 60\n   directory mask = 0750\n   display charset = UTF8\n   domain master = no\n   fstype = Samba\n   guest account = nobody\n   hosts allow = 192.168.3. 127.0.0.1\n   load printers = no\n   log file = \/var\/log\/samba\/log.%m-%I\n   log level = 1\n   map to guest = Bad User\n   name resolve order = lmhosts hosts bcast\n   netbios name = CAIPIRINHA\n   passdb backend = smbpasswd:\/etc\/samba\/smbpasswd\n   printcap name = cups\n   printing = cups\n   server string = Caipirinha Fileserver\n   socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY\n   syslog = 0\n   time server = yes\n   unix extensions = no\n   unix charset = UTF8\n   username map = \/etc\/samba\/smbusers\n   workgroup = SPQR\n[homes]\n   browseable = no\n   comment = Home Directories\n   create mask = 0600\n   directory mask = 0700\n   guest ok = no\n   hide dot files = yes\n   hide special files = yes\n   path = %H\n   read only = no\n   valid users = %S\n   veto files = \/Picasa.ini\/Thumbs.db<em>\/<\/em>\n<em>   wide links = yes<\/em>\n<em>[www]<\/em>\n<em>   browseable = no<\/em>\n<em>   comment = User Web Pages<\/em>\n<em>   create mask = 0644<\/em>\n<em>   directory mask = 0755<\/em>\n<em>   guest ok = no<\/em>\n<em>   hide special files = yes<\/em>\n<em>   path = %H\/public_html<\/em>\n<em>   read only = no<\/em>\n<em>[ftp]<\/em>\n<em>   comment = Verzeichnisse des FTP-Servers<\/em>\n<em>   create mask = 0644<\/em>\n<em>   directory mask = 0755<\/em>\n<em>   force create mode = 0644<\/em>\n<em>   force directory mode = 0755<\/em>\n<em>   force group = +users<\/em>\n<em>   hide special files = yes<\/em>\n<em>   path = \/home\/ftp<\/em>\n<em>   write list = +users<\/em>\n<em>[public]<\/em>\n<em>   comment = Daten f\u00fcr alle Benutzer<\/em>\n<em>   guest ok = yes<\/em>\n<em>   hide special files = yes<\/em>\n<em>   path = \/home\/public<\/em>\n<em>   veto files = \/Picasa.ini\/Thumbs.db<\/em>\/\n   write list = +relationship\n[tmp]\n   comment = Verzeichnis f\u00fcr alles M\u00f6gliche\n   create mask = 0644\n   directory mask = 0755\n   force group = +users\n   hide special files = yes\n   path = \/home\/tmp\n   write list = +users\n[backup]\n   comment = Verschl\u00fcsseltes Backup-Laufwerk\n   create mask = 0600\n   directory mask = 0700\n   force group = +users\n   hide special files = yes\n   path = \/backup\n   valid users = +users\n   write list = +users<\/pre>\n\n\n\n<p>Alle hier benutzten Schl\u00fcsselw\u00f6rter sind sehr \u00fcbersichtlich in der Samba-Dokumentation <a href=\"http:\/\/www.samba.org\/samba\/docs\/man\/manpages-3\/smb.conf.5.html\">[1]<\/a> erl\u00e4utert, die man sich auch mit <code>man samba<\/code> aufrufen kann. Einige Einstellungen werden im Folgenden n\u00e4her erkl\u00e4rt:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Die Einstellung f\u00fcr <strong>client ntlmv2 auth<\/strong> ist f\u00fcr die \nkorrekte Authentifizierung von Windows Clients mit Windows Vista oder \nh\u00f6her erforderlich, weil diese daf\u00fcr standardm\u00e4\u00dfig <a href=\"http:\/\/de.wikipedia.org\/wiki\/NTLM\">NTLM<\/a> benutzen.<\/li><li>Die Einstellungen f\u00fcr <strong>create mask<\/strong> und <strong>directory mask<\/strong> in den globalen Einstellungen <strong>[global]<\/strong>\n legen zun\u00e4chst fest, dass erzeugte Dateien f\u00fcr alle Benutzer der \ngleichen Gruppe lesbar und erzeugte Verzeichnisse f\u00fcr alle Benutzer der \ngleichen Gruppe zug\u00e4nglich sein sollen. Es handelt sich also dabei um \ndie <strong>umask<\/strong> erzeugter Dateien und Verzeichnisse.<\/li><li>Mit <strong>display charset<\/strong> wird <strong>UTF8<\/strong> als Zeichensatz \neingestellt, so wie er auch auf dem Projektmanagement-Server selbst \nbenutzt wird. Dann gibt es keine Probleme bei der Darstellung \nakzentuierter Zeichen oder von Dateinamen, welche nicht in lateinischen \nBuchstaben geschrieben sind.<\/li><li>Mit den angegebenen Adre\u00dfbereichen unter <strong>hosts allow<\/strong> begrenzt man die zugriffsberechtigten Clients auf das Netzwerk <strong>192.168.3.0\/24<\/strong> und den <strong>localhost<\/strong> (127.0.0.1). Der Eintrag des localhost ist besonders wichtig, weil beim Fehlen desselben der Befehl <code>smbpasswd<\/code> auf dem Server nicht mehr funktioniert.<\/li><li><strong>passdb backend<\/strong> legt fest, dass bei dieser Konfiguration noch die alte Methode zur Speicherung der Zugangsdaten (n\u00e4mlich die Datei <strong>\/etc\/samba\/smbpasswd<\/strong>) eingesetzt wird. Der Einsatz dieser Methode ist aber nicht mehr empfohlen.<\/li><li>Mit der hier gezeigten Einstellung f\u00fcr <strong>time server<\/strong> bietet \nsich der Caipirinha-Server den sich mit ihm verbindenden Windows-Clients\n als Zeitreferenz an. Dies ist eine gute Idee, denn durch die <a href=\"http:\/\/localhost\/mediawiki\/index.php?title=Ntp&amp;action=edit&amp;redlink=1\">ntp<\/a>-Konfiguration hat der Caipirinha-Server ja eine gut abgeglichene Uhrzeit.<\/li><li>Den Namen der Arbeitsgruppe stellt man mit <strong>workgroup<\/strong> ein; er \nsollte auf denselben Namen lauten, den auch die anderen (Windows-) \nMaschinen als Arbeitsgruppe eingestellt haben. Der Server macht sich mit\n dem unter <strong>nebios name<\/strong> eingestellten Namen im Netzwerk bekannt. \nHier nimmt man am Besten den Maschinennamen, damit die Fehlersuche und \ndie Administration einfacher werden.<\/li><li>Unter <strong>username map<\/strong> ist eine Datei referenziert, welche eine \nZuordnung von Benutzernamen der Clients zu Benutzernamen auf dem \nSamba-Server auflistet.<\/li><\/ul>\n\n\n\n<p> Danach folgen in der Konfigurationsdatei verschiedene Abschnitte, welche jeweils ein bestimmtes unter <strong>path<\/strong> genanntes Verzeichnis &#8220;exportieren&#8221;. Hier handelt es sich um die Abschnitte: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>[homes]<\/strong> exportiert <strong>%H<\/strong>; in Windows <strong>Q:<\/strong><\/li><li><strong>[www]<\/strong> exportiert <strong>%H\/public_html<\/strong>; in Windows <strong>W:<\/strong><\/li><li><strong>[ftp]<\/strong> exportiert <strong>\/home\/ftp<\/strong>; in Windows <strong>V:<\/strong><\/li><li><strong>[public]<\/strong> exportiert <strong>\/home\/public<\/strong>; in Windows <strong>S:<\/strong><\/li><li><strong>[tmp]<\/strong> exportiert <strong>\/home\/tmp<\/strong>; in Windows <strong>T:<\/strong><\/li><li><strong>[backup]<\/strong> exportiert <strong>\/backup<\/strong>; in Windows <strong>U:<\/strong><\/li><\/ul>\n\n\n\n<p> Hier sind noch einige Anmerkungen zu den einzelnen Abschnitten: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Die Angabe <strong>%H<\/strong> im Pfadnamen in den Abschnitten <strong>[homes]<\/strong> und <strong>[www]<\/strong> wird durch das Home-Verzeichnis des jeweiligen Benutzers ersetzt <a href=\"http:\/\/www.samba.org\/samba\/docs\/man\/manpages-3\/smb.conf.5.html#id2532525\">[2]<\/a>, also beispielsweise durch <strong>\/home\/gabriel<\/strong>, wenn sich der Benutzer <em>gabriel<\/em> mit dem Samba-Dienst verbindet (und auch verbinden darf).<\/li><li>F\u00fcr das Verzeichnis <strong>%H<\/strong> im Abschnitt <strong>[homes]<\/strong> werden mit <strong>0600<\/strong> und <strong>0700<\/strong> sehr restriktive Dateirechte vergeben, denn es handelt sich ja um das pers\u00f6nliche Verzeichnis eines Benutzers.<\/li><li>F\u00fcr das Verzeichnis <strong>%H\/public_html<\/strong> im Abschnitt <strong>[www]<\/strong> werden dagegen mit <strong>0644<\/strong> und <strong>0755<\/strong>\n sehr offene Dateirechte vergeben, denn es handelt sich ja um das \nVerzeichnis f\u00fcr die pers\u00f6nliche Homepage des entsprechenden Benutzers, \nund die soll ja auch f\u00fcr andere Benutzer (in diesem Fall f\u00fcr den \nBenutzer <em>wwwrun<\/em>, mit dem der <a href=\"http:\/\/localhost\/mediawiki\/index.php\/Apache\">Apache<\/a>-Dienst l\u00e4uft) sichtbar sein. Man muss beachten, dass das Verzeichnis <strong>%H\/public_html<\/strong> (Abschnitt <strong>[www]<\/strong>) auch \u00fcber <strong>%H<\/strong> (Abschnitt <strong>[homes]<\/strong>),\n also \u00fcber das pers\u00f6nliche Verzeichnis, erreicht werden kann. Die \nDateirechte h\u00e4ngen aber davon ab, \u00fcber welchen Samba-Share man sich \nverbindet. Man schreibt daher seine Webseiten am Besten immer nur \u00fcber \nden Samba-Share <strong>[www]<\/strong>, denn nur dann k\u00f6nnen die Webseiten auch von allen Benutzern (und damit auch vom Benutzer <em>wwwrun<\/em>, mit dem der <a href=\"http:\/\/localhost\/mediawiki\/index.php\/Apache\">Apache<\/a>-Dienst l\u00e4uft) gelesen werden. Eigentlich h\u00e4tte ich auch noch erwartet, dass man hier explizit die Einstellungen <strong>force create mode<\/strong> und <strong>force directory mode<\/strong> konfigurieren muss, so wie dies im Share <strong>[ftp]<\/strong>\n gemacht wurde. Auf dem Caipirinha-Server ist n\u00e4mlich die umask f\u00fcr die \nBenutzer auf restriktive 0077 gesetzt. Aus einem mir unerfindlichen \nGrund muss man das aber nicht machen; vielleicht ein Bug in der aktuell \neingesetzten Samba-Version 3.4.3 in Verbindung mit openSuSE?<\/li><li>Die Einstellung f\u00fcr <strong>wide links<\/strong> im Samba-Share <strong>[homes]<\/strong> erlaubt das Verlinken von Dateien aus dem Bereich von <strong>%H<\/strong> heraus. Dies wurde hier erforderlich, die Benutzerverzeichnisse durch das Skript <a href=\"http:\/\/localhost\/mediawiki\/index.php\/Admin-Skripte#Doppelte_Dateien_l.C3.B6schen\">Doppelte Dateien l\u00f6schen<\/a> durchforstet werden, welches dann m\u00f6glicherweise auch Links aus den Benutzerverzeichnissen heraus nach <strong>\/home\/public<\/strong> erstellt. Sonst k\u00f6nnte auf diese verlinkten Dateien direkt auf dem Caipirinha-Server zugreifen, nicht aber \u00fcber <strong>Samba<\/strong>.\n wide links sollte aber immer mit Vorsicht eingesetzt werden, denn es \ner\u00f6ffnet nat\u00fcrlich auch Zugriffsm\u00f6glichkeiten auf Verzeichnisse, die man\n sonst vielleicht gar nicht \u00fcber <strong>Samba<\/strong> zug\u00e4nglich machen wollte.<\/li><li>Beim Verzeichnis <strong>\/home\/ftp<\/strong> (Abschnitt <strong>[ftp]<\/strong>) werden weitergehende Dateirechte festgelegt bzw. erzwungen, damit Benutzer Dateien aus den Verzeichnissen <strong>\/home\/ftp\/upload<\/strong> und <strong>\/home\/ftp\/download<\/strong> bearbeiten k\u00f6nnen und diese dann auch vom <a href=\"http:\/\/localhost\/mediawiki\/index.php\/FTP\">FTP<\/a>-Dienst gelesen werden k\u00f6nnen.<\/li><li>In das Verzeichnis <strong>\/home\/public<\/strong> (Abschnitt <strong>[public]<\/strong>) d\u00fcrfen nur Benutzer schreiben, welche der Gruppe <em>relationship<\/em> angeh\u00f6ren. So ist es in <strong>write list<\/strong> definiert worden.<\/li><li>In das Verzeichnis <strong>\/home\/tmp<\/strong> (Abschnitt <strong>[tmp]<\/strong>) d\u00fcrfen dagegen alle Benutzer schreiben, die zur Gruppe <em>users<\/em> geh\u00f6ren.<\/li><li>F\u00fcr das Verzeichnis <strong>\/backup<\/strong> im Abschnitt <strong>[backup]<\/strong> sind\n ebenfalls sehr restriktive Dateirechte vergeben worden. Es soll ja \nniemand die Backups eines anderen Benutzers lesen k\u00f6nnen. Dar\u00fcber hinaus\n d\u00fcrfen nur Mitglieder der Gruppe <em>users<\/em> \u00fcber Samba auf dieses Verzeichnis zugreifen (<strong>valid users<\/strong>). Es d\u00fcrfen auch nur Mitglieder der Gruppe <em>users<\/em> \u00fcber Samba auf dieses Verzeichnis schreiben (<strong>write list<\/strong>).<\/li><\/ul>\n\n\n\n<p> In der Datei <strong>\/etc\/samba\/smbusers<\/strong> sind, wie bereits erw\u00e4hnt wurde, die Benutzernamen der Clients in Benutzernamen auf dem Samba-Server \u00fcbersetzt: <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">...\n#root = administrator\n#nobody = guest pcguest smbguest\ngabriel = \"Gabriel R\u00fceck\" Gabriel\njoselia = \"Jos\u00e9lia da Silva\" Jos\u00e9lia<\/pre>\n\n\n\n<p>Wie man sieht, gibt es nur zwei Benutzer, n\u00e4mlich <em>gabriel<\/em> und <em>joselia<\/em>, die sich als <em>Gabriel<\/em> und <em>Jos\u00e9lia<\/em> auf den Windows-Clients anmelden.\n<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/localhost\/mediawiki\/index.php\/Datei:Netzlaufwerk_verbinden.gif\"><img decoding=\"async\" src=\"http:\/\/localhost\/mediawiki\/images\/thumb\/a\/ab\/Netzlaufwerk_verbinden.gif\/300px-Netzlaufwerk_verbinden.gif\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<p>  Einbinden eines Netzlaufwerks auf einem Windows-Client\n<\/p>\n\n\n\n<p>Das Passw\u00f6rter f\u00fcr die Samba-Benutzer <em>gabriel<\/em> uns <em>joselia<\/em> sind in der Datei <strong>\/etc\/samba\/smbpasswd<\/strong>\n enthalten, allerdings in verschl\u00fcsselter Form. Es wurde hier das \ngleiche Passwort gew\u00e4hlt wie beim Login auf den Windows-Clients, so dass\n die Netzlaufwerke einfach unter Windows gemountet werden k\u00f6nnen. Es ist\n wichtig zu wissen, dass das Samba-Passwort eines Benutzers vom \nSystempasswort des Benutzers abweichen kann. Das Samba-Passwort kann in \neiner Linux-Shell mit dem Befehl <code>smbpasswd<\/code> gesetzt werden.\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Windows-Client<\/h2>\n\n\n\n<p>Unter den verschiedenen Windows-Versionen funktioniert die Einbindung\n der durch Samba &#8220;exportierten&#8221; Netzlaufwerke immer nach der gleichen \neinfachen Art und Weise. Im Windows Explorer w\u00e4hlt man den Men\u00fcpunkt <strong>Extras<\/strong> und dann <strong>Netzlaufwerk verbinden<\/strong>.\n Danach sucht man einen Laufwerksbuchstaben aus und gibt bei Ordner den \nvollst\u00e4ndigen Pfad zum freigegebenen Verzeichnis ein, so wie rechts \nabgebildet. Au\u00dferdem markiert man noch die Option <strong>Verbindung bei Anmeldung wiederherstellen<\/strong>, so dass das Netzlaufwerk permanent eingebunden wird. Im Beispiel rechts wurde die Maschine mit dem unter <strong>netbios name<\/strong>\n angegebenen Namen (caipirinha) eingebunden. Dies funktioniert meist nur\n im lokalen Netzwerk (bzw. generell in den Netzwerken, in welche die \nsmb- und nmb-Pakete weitergeleitet werden). Weitere M\u00f6glichkeiten sind \ndie Angabe der IP-Adresse oder der volle Maschinenname (FQDN).\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Drucken \u00fcber Samba<\/h2>\n\n\n\n<p>Lange Zeit hatte ich \u00fcber <strong>Samba<\/strong> auch Zugriffsm\u00f6glichkeiten auf\n die am Caipirinha-Server installierten Drucker angeboten. Allerdings \ngab dies, insbesondere mit Windows-Clients, die sich als Gast \nanmeldeten, immer wieder Probleme, und so habe ich mich entschlossen, \nDruck- und Dateidienste komplett zu trennen und die Druckdienste \nausschlie\u00dflich \u00fcber <a href=\"http:\/\/localhost\/mediawiki\/index.php\/CUPS\">CUPS<\/a> anzubieten.\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Konfiguration des Samba-Dienstes auf dem Caipirinha-Server dient ausschlie\u00dflich dazu, einige zentrale Verzeichnisse auf dem Server unter Windows verf\u00fcgbar zu machen. Insofern stellt die unten stehende Konfigurationsdatei kein Meisterst\u00fcck dar, sondern kann lediglich einige einf\u00fchrende Ideen geben. Sicherlich k\u00f6nnte man auch in einem Heim-Netzwerk noch viel bessere Konfigurationen anbieten.<\/p>\n","protected":false},"author":1,"featured_media":423,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[59,60],"class_list":["post-75","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it","tag-samba","tag-smb"],"_links":{"self":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/75","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=75"}],"version-history":[{"count":1,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/75\/revisions"}],"predecessor-version":[{"id":76,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/75\/revisions\/76"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/media\/423"}],"wp:attachment":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=75"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=75"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}